`
duoerbasilu
  • 浏览: 1542066 次
文章分类
社区版块
存档分类
最新评论

内嵌子对象时派生类构造函数与析构函数的调用顺序

 
阅读更多

调用顺序

1.调用积累的构造函数,对基类数据成员初始化。

2,调用子对象构造函数,对子对象数据成员初始化;

3.调用派生类的构造函数,对派生类数据成员初始化。

#include<iostream>
using namespace std;
class Base{
public:
	Base(int n)
	{
		i=n;
		cout<<"constructing  Base class"<<endl;
	}
	~Base()
	{
		cout<<"destructing   Base class"<<endl;
	}
	dispB()
	{
		cout<<"i="<<i<<endl;
	}
private:
	int i;
};
class Derived:public Base{
public:
	Derived(int y):Base(y),base(y)   //派生类的构造函数。调用基类构造函数和子对象构造函数
	{
		cout<<"constructing Derived class"<<endl;
	}
	~Derived()
	{
		cout<<"destructing Derived class"<<endl;
	}
private:
	Base base;  //定义子对象base
};
int main()
{
	Derived der(521);
	der.dispB();
	return 0;
}


分享到:
评论

相关推荐

    C++实验2 类与对象

    观察构造函数和析构函数的调用顺序。 (2)定义一个简单的Computer类,有数据成员芯片(CPU),内存(ram),光驱(cdrom)等等,有两个公有成员函数run、stopo,CPU为CPU类的一个对象,ram为RAM类的一个对象,cdrom为...

    c++面向对象实验报告.pdf

    本实验主要涵盖了C++中的面向对象编程概念,包括类的声明与使用、对象的声明、访问控制、构造函数与析构函数、成员函数的使用以及类的组合。同时,实验还涉及了调试技巧,如使用VC++的debug调试功能来观察程序流程。...

    C++语言程序设计实验答案_类与对象.pdf

    1. 验证:声明一个CPU类,观察构造函数和析构函数的调用顺序。 2. 调试程序文件lab4_1.cpp,使用调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 通过这四个实验任务,学生可以...

    C++程序设计代码

    3.(选做)声明一个哺乳动物类Mammal,再由此派生出狗类Dog,定义一个Dog类的对象,观察基类与派生类的构造函数和析构函数的调用顺序。 4.完善实验四第2题的程序,具体要求如下: 任务1:从people(人员)类派生出...

    C++设计人事管理people类

    其中"出生日期"定义为一个"日期"类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数。 说明: 编译环境采用DevC++,可以根据不同要求创建对象,实现更多功能,题目...

    C++简单人事管理系统.docx

    在设计该系统时,需要抽象出所有类型人员都具有的属性,包括编号、性别、出生日期、身份证号码等,其中出生日期声明为一个“日期”类内嵌子对象。使用成员函数实现对人员信息的录入和显示。 设计思想 在设计该系统...

    班级人事管理系统

    其中"出生日期"定义为一个"日期"类(具有属性:year(年),month(月),date(日)内嵌子对象.用成员函数实现对人员信息的录入和显示等必要功能操作(自己独立思考设计).要求包括:构造函数和析构函数,拷贝构造函数,内联成员...

    MFC父窗口嵌子窗口实现垂直滚动条

    `CWnd`是所有窗口对象的基础类,而`CDialog`类用于创建对话框,它是`CWnd`的派生类。我们通常会创建一个继承自`CDialog`的类来定义我们的对话框或父窗口。为了在父窗口中嵌入子窗口,我们还需要创建一个继承自`CWnd`...

    c++学生信息管理系统设计:

    数据成员:学号、姓名、政治面貌、出生日期(定义为“日期”类内嵌子对象)、课程成绩; 函数成员:显示信息操作,计算成绩操作; 学生类派生出研究生类: 数据成员:发表论文数量、每篇分值(10分); 函数...

    c++语言写一个用于人事管理的类,其中日期声明一个日期类内嵌

    设计一个用于人事管理的...其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、带默认形参值的成员函数、类的组合。

    语言程序设计课后习题答案

    类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还可以大大提高程序的可...

    C++简单人事管理系统.pdf

    其中,出生日期声明为一个日期类内嵌子对象。通过成员函数实现对人员信息的录入和显示。 二、设计思想 该系统的设计思想是使用对象数组来存储人员信息,通过for循环对人员信息的录入和输出。系统主要包括两个类:...

    c/c++ 人事管理系统

    其中"出生日期"定义为一个"日期"类(具有属性:year(年),month(月),date(日)内嵌子对象. (2) 从People类派生出student(学生)类,添加属性:班号; 从People类派生出teacher(教师)类,添加属性:职务,部门; 从...

    《面向对象程序设计实验》课程教学大纲.docx

    理解访问属性、构造函数和析构函数的执行过程,以及类的聚集,这些都是在面向对象编程中不可或缺的技能。实验通过具体的设计CPU类和Computer类来加强这些概念的应用,而设计人员管理类People作为选做部分,不仅加深...

    Qt界面中添加设计好的子页面

    - 在添加子页面时,确保所有相关的对象都正确地设置了父对象,以避免内存泄漏。 - 考虑到性能问题,如果子页面包含大量的控件,可能需要考虑优化方案,比如使用延迟加载等技术。 - 在使用布局管理器时,注意调整控件...

    学生信息管理系统

    其中“出生日期”定义为一个“日期”类(具有属性:year(年),month(月),date(日))内嵌子对象。 具有数据的录入、显示、保存、查询(按学号或姓名查询)、修改和删除功能。 对Student类重载"=="运算符和"=...

    埋嵌子板的HDI板制作工艺研究(一)

    摘 要 通过对埋嵌子板高密度互连结构PCB中局部混压工艺难点进行分析,对铣槽精度控制、子母板偏移、板面流胶及阻胶方法控制等进行研究,通过试验评估了不同定位方式、不同开槽补偿方式、不同阻胶排板方式及边缘刮铜...

    iframe跨域通信解决方法

    尤其是在使用`iframe`嵌入不同源的内容时,主页面往往无法直接与`iframe`内的内容进行交互,这就需要一种解决方案来实现跨文档消息传递。本文档将详细介绍如何在Vue项目或普通Web页面中利用`postMessage`API来实现`...

    易语言把程序窗口嵌入桌面

    在易语言中,我们可以通过调用Windows API函数来完成这一操作。 具体步骤如下: 1. 获取桌面窗口句柄:在Windows API中,我们可以使用`FindWindow`或`FindWindowEx`函数来查找桌面窗口的句柄。桌面窗口的类名通常...

    abaqus移动热源+子程序

    当分析涉及到非标准物理现象或需要特殊算法时,必须将子程序与主分析文件一起提交,否则分析将无法正确执行。ABAQUS支持用户子程序(如UEL、UELHS等)来扩展其核心功能,使得用户能够自定义热源的行为,如移动速度、...

Global site tag (gtag.js) - Google Analytics