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

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

 
阅读更多

调用顺序

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++上机实验报告-实验三.docx

    使用debug调试功能观察lab4_2.cpp程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序,特别注意观察成员变量的构造与析构顺序。 4.思考题: 1.如何定义一个类? class 类名称 { public: 外部接口...

    实验4 类与对象

    frequency为单位是MHz的整型数,voltage为浮点型的电压值,观察构造函数和析构函数的调用顺序 2.声明一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run和stop。...

    C++程序设计代码

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

    C++实验完整版

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

    C++设计人事管理people类

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

    班级人事管理系统

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

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

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

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

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

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

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

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

    MFC父窗口嵌子窗口实现垂直滚动条,子窗口超过客户区时自动添加滚动条

    c/c++ 人事管理系统

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

    学生信息管理系统

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

    c++ 简单人事管理

    一、 设计要求 设计一个简单的人事管理系统,在这里简单称为“人员”类,抽象出所有类型人员都具有的属性:编号、性别...其中要求“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。

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

    有一些重复性很高的工作,没必要一直重复的去做。在用Qt设置界面的时候,我们会发现,某些界面的某些部分和别一些可以完全通用,比如串口设置。 或者在做多界面的时候,我们希望某些界面的某些区域使用相同的布局。...

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

    易语言把程序窗口嵌入桌面源码,把程序窗口嵌入桌面,新父窗口,寻找顶级窗口

    Devexpress中wpf的应用

    讲的是dev中wpf的使用.尤其是gridcontrol使用的showloadingpanel使用

    MFC如何创建子窗口, 任意激活子窗口与主窗口

    MFC如何创建子窗口subwindow,并任意激活子窗口与主窗口,是初学者不可多得的实例,简单明了. 本实例是在VC6.0下.

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

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

Global site tag (gtag.js) - Google Analytics