一:构造函数
形式:派生类名::派生类名:基类名1(参数1),基类名2(参数2),……基类名n(参数n),数据成员1(参数1),数据成员2(参数2),……数据成员n(参数n){
各种操作的说明
}
执行过程:先执行基类的构造函数,再进行数据成员的赋值,最后执行函数体。
其中基类名和数据成员的顺序是由在派生类的定义中声明的顺序决定执行的顺序的,因此它们的顺序是任意的,但为了可读性,还是最好按顺序写。
如果基类只有默认构造函数,则基类名和参数表可以不用写出来。
二:复制构造函数
派生类的构造函数的形式用一个例子说明:
Derived::Derived(Derived&v):Base1(v){……}
细心的话会发现Base1的形参和Derived 的形参一样是c,这里用到了类型兼容规则。
三:析构函数
派生类的析构函数的形式和普通类的析构函数在形式上完全相同,它的执行顺序和派生类的构造函数的执行顺序刚好完全相反,即先执行函数体,再执行成员的析构函数,最后执行基类的析构函数。
以上就是我对于派生类的构造函数和析构函数的认识。
原文地址:http://blog.csdn.net/csdn_lyy/article/details/44838599