题目:定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。
代码如下:
/*定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。*/
#include <iostream>
using namespace std;
//以下是类的声明
class baseclass
{
public:int number;int getage(){return i1;}baseclass(){cout<<"baseclass类的默认构造函数\n";i1=0;cout<<"i1:"<<getage()<<endl;}baseclass(int i,int j){cout<<"baseclass类的有参构造函数\n";i1=i;cout<<"i1:"<<getage()<<endl;}baseclass(baseclass&b1){cout<<"baseclass类的拷贝构造函数\n";i1=b1.i1;cout<<"i1:"<<getage()<<endl;}~baseclass(){cout<<"baseclass类的析构函数\n";}
private:int i1;
};
class derivedclass:public baseclass
{
public:derivedclass(){cout<<"derivedclass类的默认构造函数\n";i2=0;cout<<"i2:"<<getage()<<endl;}derivedclass(int i,int j):baseclass(i,j){cout<<"derivedclass类的有参构造函数\n";i2=j;cout<<"i2:"<<getage()<<endl;}derivedclass(derivedclass&d1):baseclass(d1){cout<<"derivedclass类的拷贝构造函数\n";i2=d1.i2;cout<<"i2:"<<getage()<<endl;}~derivedclass(){cout<<"derivedclass类的析构函数\n";}
private:int i2;
};
int main()
{derivedclass D;derivedclass D2=D;derivedclass D3(1,3);return 0;
}