【C++实验任务3】 people组合类的构造与析构函数调用【详解】

题目:

设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等。其中,“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录人和显示。要求包括:构造函数和析构函数、复制构造函数、内联成员函数、组合。


知识点:

构造

1.调用date构造函数创建一个date类的对象

2.调用date复制构造函数将前面创建的date对象复制并且作为形式参数传给people类的构造函数

3.在people类的构造函数的初始化列表中,用传进来的date类b去初始化birthday对象,这一步初始化还要调用date类的复制构造函数,去创建这个成员birthday

4.执行people类的构造函数内的函数体

析构

1.创建people类时进行形参与实参结合时所调用复制构造函数创建的date类被析构,因为生存期是函数体内

2.程序结束,people类先被析构

people类的析构函数没有显式的调用date类的析构,所以程序会自行调用

3.在people类的构造函数内调用的date复制构造函数出来的对象(也就是people类的date类成员)被析构

(这里注意是先调用组合类的析构函数,再调用组合类内其他类的析构函数)

4.最开始创建的date类被析构

代码:

//实验任务3_people组合类
#include<iostream>
#include<string>
using namespace std;
// date类
cla
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值