第十周阅读项目(5):继承与派生
2015-05-16 15:44
239 查看
代码:
运行结果:
学习心得:
声明一个D类对象,D是C的派生类,C是B的派生类,所以调用B的结构函数,B类中声明一个A的对象,所以先调用A的结构函数,再调用B的结构函数,因为C中又有一个A的新对象,所以再调用一次A的结构函数,再调用C的结构函数,最后调用D的结构函数。
#include <iostream> using namespace std; class A { protected: int x; public: A(int x) { A::x=x; cout<<"class A"<<endl; } }; class B { private: A a1; public: B(int x):a1(x) { cout<<"class B"<<endl; } }; class C:public B { private: A a2; public: C(int x):B(x),a2(x) { cout<<"class C"<<endl; } }; class D:public C { public: D(int x):C(x) { cout<<"class D"<<endl; } }; int main() { D dobj(10); return 0; }
运行结果:
学习心得:
声明一个D类对象,D是C的派生类,C是B的派生类,所以调用B的结构函数,B类中声明一个A的对象,所以先调用A的结构函数,再调用B的结构函数,因为C中又有一个A的新对象,所以再调用一次A的结构函数,再调用C的结构函数,最后调用D的结构函数。
相关文章推荐
- 第十周阅读项目(6):继承与派生
- 第十周,十一周阅读项目-继承与派生-3
- 第十周阅读项目(4):继承与派生
- 第十周——面向对象——继承与派生——项目四(1)类族的设计
- 第十周——面向对象——继承与派生——项目一(2)储存班长信息的学生类
- 第十周——面向对象——继承与派生——项目二(1)职员有薪水了
- 第十周阅读程序(1):继承与派生
- 第十周——面向对象——继承与派生——项目四(2)类族的设计
- 第十周阅读程序(2):继承与派生
- 第十周——面向对象——继承与派生——项目四(3)类族的设计
- 第十周阅读程序(3):继承与派生
- 第十周阅读程序(7):继承与派生
- 第十,十一周-阅读项目-继承与派生
- 第十周——面向对象——继承与派生——项目0 是春哥啊
- 第十周——面向对象——继承与派生——项目一(1)储存班长信息的学生类
- 第十周——面向对象——继承与派生——项目二(2)职员薪水类
- 第十周——面向对象——继承和派生——项目三 点类派生直线类
- 第十周项目3点类派生直线类
- C++第十周【任务3】类的继承和派生
- 十一周——继承与派生——阅读程序(2)