派生类的构造函数及其对象的初始化.doc

派生类的构造函数及其对象的初始化.doc

ID:62071160

大小:145.50 KB

页数:5页

时间:2021-04-16

派生类的构造函数及其对象的初始化.doc_第1页
派生类的构造函数及其对象的初始化.doc_第2页
派生类的构造函数及其对象的初始化.doc_第3页
派生类的构造函数及其对象的初始化.doc_第4页
派生类的构造函数及其对象的初始化.doc_第5页
资源描述:

《派生类的构造函数及其对象的初始化.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理勿做商业用途派生类的构造函数及其对象的初始化由于构造函数不能被继承,因此,派生类的构造函数中除了对派生类中数据成员进行初始化外,还必须通过调用直接基类的构造函数来对基类中数据成员初始化,一般地将,对派生类中数据成员初始化放在该派生类构造函数的函数体内,而调用基类构造函数的基类中数据成员初始化放在该构造函数的成员初始化表中。派生类构造函数的格式如下表示:<派生类构造函数名>(〈参数表>) : 〈成员初始化表〉{  <派生类构造函数的函数体〉}其中,〈派生类构造函数名>同该派生类的类名。〈成员初始化表〉中包含如下的初始化项:①

2、基类的构造函数,用来给基类中数据成员初始化;②子对象的类的构造函数,用来给派生类中子对象的数据成员初始化;③派生类中常成员的初始化。<派生类构造函数的函数体〉用来给派生类中的数据成员初始化。派生类构造函数的调用顺序如下:①基类构造函数;②子对象的构造函数;③成员初始化表中其他初始化项;④派生类构造函数的函数体。在基类中有默认构造函数时,派生类的构造函数中可隐含调用基类中的默认构造函数。派生类中析构函数由于析构函数也不能继承,因此派生类的析构函数中将调用直接基类的析构函数.执行派生类析构函数的顺序正好与指向派生类的构造函数的顺序相反。先

3、调用派生类的析构函数,再调用子对象类的析构函数,最后调用直接基类的析构函数。例如:分析下列程序的输出结果,掌握派生类构造函数的定义格式和执行顺序,以及派生类析构函数的调用方法。 1#include

4、 a=i;14        cout〈〈"Constructor called。 A”;15    }16个人收集整理勿做商业用途    ~A()17    {18        cout〈〈”Destructor called. A";19    }20    void Print()21    {22        cout〈〈a〈<”,";23    }24    int Geta()25    {26        return a;27    }28private:29    int a;30};31class B

5、:public A32{33public:34    B()35    {36        b=0;37        cout<〈"Default constructor called. B";38    }39    B(int i,int j,int k);40    ~B()41    {42        cout〈<"Destructor called. B";43    }44    void Print()45    {46        A::Print();47        cout<〈b<<”,”〈〈

6、aa.Geta()〈〈endl;48    }49private:50    int b;51    A aa;52};5354B::B(int i,int j,int k):A(i),aa(j),b(k)55{56    cout〈〈”Constructor called。 B”;57}58int main()59{60个人收集整理勿做商业用途    B bb[2];61    bb[0]=B(8,3,9);62    bb[1]=B(17,-18,19);63    int i;64    for(i=0;i<2;i++)65

7、        bb[i].Print();66    return 0;67}68文档为个人收集整理,来源于网络运行结果为:Default constructor calledA.Default constructor calledA.Default constructor calledB.Default constructor calledA。Default constructor calledA。Default constructor calledB。Constructor called。 AConstructor called

8、. AConstructor called. BDestructor called。 BDestructor called。 ADestructor called. AConstructor called。 AConst

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。