问题及代码:
(1)阅读程序,写出执行结果
#include <iostream>
using namespace std;
class Data
{
public:
Data(int i):x(i){cout<<"A";}
~Data(){ cout<<"B";}
private:
int x;
};
class Base
{
public:
Base(int i):b1(i){cout<<"C";}
~Base(){ cout<<"D";}
private:
int b1;
};
class Derived:public Base
{
public:
Derived (int i,int j):Base(i),d1(j){
cout<<"E";
}
~Derived(){cout<<"F";}
private:
Data d1;
};
int main()
{
Derived obj(1,2);
return 0;
}
运行结果:
知识点总结:
先构建对象obj(1,2),先构建了base对象(输出了C)和date对象(输出了A),然后输出E,然后析构obj(1,2),输出F,同时析构掉date对象(输出B)和base对象(输出D)。
学习心得:
先构建着先析构。