帮忙分析一个c++程序~!(和类的继承有关?)

[复制链接]
查看11 | 回复2 | 2007-11-4 19:47:05 | 显示全部楼层 |阅读模式
类继承,在构建时先调用基类的构造函数,在调用子类的构造函数,在析构时,先调用子类的,在调用基类的。所以x(2,3) 先输出ConstructA2,在输出ConstructB3y(4,5)为ConstructA4,ConstructB5
回复

使用道具 举报

千问 | 2007-11-4 19:47:05 | 显示全部楼层
#includeusing namespace std; class A{int a;public:A(int aa=0):a(aa) { cout<<"Construct A!"<<a<<endl;} }; class B: public A{int b;public:B(int aa=0,int bb=0):A(aa),b(bb) { cout<<"Construct B!"<<b<<endl;} }; int main(){B x(2,3),y(4,5);return 0;}
这是严格的C++的写法,应该比先前容易理解一些,以前的写法保留了太多C语言的特征,不容易理解。
此题的重点是公有继承时派生类的构造函数的初始化问题。
写成这种形式后,参考任何C++编程书籍都容易看懂。
回复

使用道具 举报

千问 | 2007-11-4 19:47:05 | 显示全部楼层
什么问题说下??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行