继承中构造函数与析构函数
来源:互联网 发布:淘宝网小开衫 编辑:程序博客网 时间:2024/06/05 14:08
#include <iostream>using namespace std;class Y{private:int i;public:Y(){}Y(int ii) : i(ii) {}};class X : public Y // 这个是继承,在继承的时候,X 类中含有的函数与Y 函数相同,则将Y类的此函数屏蔽掉,无论参数是否相同,只要函数一样就将其屏蔽掉,{private:int i;float f;char c;char* s;public:X() : Y(10), i(7), f(1.6), c('b'), s("xiao") // 在冒号后面是进行初始化,是初始化列表,{cout << "X()" << endl;}};class Base1{public:Base1(int){cout << "Base1 constructor\n";}~Base1(){cout << "Base1 destructor\n";}};class Member1{public:Member1(int){cout << "Member1 constructor\n";}~Member1(){cout << "Member1 destructor\n";}};class Member2{public:Member2(int){cout << "Member2 constructor\n";}~Member2(){cout << "Member2 destructor\n";}};class Member3{public:Member3(int){cout << "Member3 constructor\n";}~Member3(){cout << "Member3 destructor\n";}};class Member4{public:Member4(int){cout << "Member4 constructor\n";}~Member4(){cout << "Member4 destructor\n";}};class Derived1 : public Base1{Member1 m1;Member2 m2;public:Derived1(int) : m1(1), m2(2), Base1(3){cout << "Derived1 constructor\n";}~Derived1(){cout << "Derived1 destructor\n";}};class Derived2 : public Derived1{Member3 m3;Member4 m4;public:Derived2() : m4(1), m3(2), Derived1(4) // 调用此类的构造函数的时候先要执行初始化列表,要先执行继承的构造函数再执行m3 和 m4{cout << "Derived2 constructor\n";}~Derived2(){cout << "Derived2 destructor\n";}};int main(){//X x;Derived2 d2;return 0;}
0 0
- 继承中构造函数与析构函数
- 构造与析构函数在继承中如何调用
- C++多继承中菱形继承构造函数与析构函数执行的顺序
- 继承中,构造函数,赋值操作符,析构函数与虚函数的关系
- 继承与构造函数
- 继承与构造函数
- 构造函数与析构函数能不能继承?
- 多重继承-构造函数与析构函数执行顺序
- c++继承中的构造函数与析构函数
- 非继承的 构造函数 与 析构函数
- 单继承析构函数与构造函数
- C++中继承 构造函数 析构函数
- 深刻理解继承中构造函数和析构函数
- 继承与构造函数分析
- Java继承与构造函数
- java 构造函数与继承
- Java-继承与构造函数
- 继承中构造函数和继承中的析构函数解析
- HashMap、HashSet和Hashtable的区别
- 计算机组成结构
- "围观"设计模式(12)--结构型之代理模式(Proxy Pattern)
- 杭电 2054(指针 strchr函数)
- Android SQLite 支持嵌套事务吗?
- 继承中构造函数与析构函数
- 基于s5pv-210开发板 usb设备侧驱动
- Spark SQL下的Parquet使用最佳实践和代码实战
- Linux下进程使用nohup或daemon进入后台CPU利用率100%
- JS日期时间类型(Y-m-d H:i:s)与时间戳互转
- 逻辑陷阱
- 如何把android studio用github实现团队协作
- 树状数组总结
- opengl fbo 纹理 开发步骤