多重继承的构造函数和析构函数
多重继承的构造函数和析构函数的执行顺序:
- //此处不做注释和说明了,看程序能读懂的
- #include <iostream>
- using namespace std;
- class base1
- {
- private:
- int x1;
- public:
- base1(int y1)
- {
- x1 = y1;
- cout<<"基类1构造函数执行..."<<"x1= "<<x1<<endl;
- }
- ~base1(){cout<<"base1 析构了...\n";}
- };
- class base2
- {
- private:
- int x2;
- public:
- base2(int y2)
- {
- x2 = y2;
- cout<<"基类2构造函数执行..."<<"x2= "<<y2<<endl;
- }
- ~base2(){cout<<"base2 析构了...\n";}
- };
- class base3
- {
- private:
- int x3;
- public:
- base3(){cout<<"构造基类3...\n";}
- ~base3()
- {
- cout<<"基类3析构了...\n";
- }
- };
- //多重继承派生类的构造函数是按照声明的顺序执行的...
- class derived:public base2,public base1,public base3
- {
- private:
- base1 obj1;
- base2 obj2;
- base3 obj3;
- public:
- derived(int x,int y,int z,int v):base1(x),base2(y),obj1(z),obj2(v)
- {
- cout<<"派生类构造函数执行...\n";
- }
- ~derived(){cout<<"派生类析构函数执行...\n";}
- };
- int main()
- {
- derived ob(1,2,3,4);
- return 0;
- }
转载于:https://blog.51cto.com/nojob/318434
多重继承的构造函数和析构函数相关推荐
- C++ Primer 5th笔记(chap 18 大型程序工具) 多重继承之构造函数、析构函数
1. 继承的构造函数与多重继承 如果从多个基类中继承了相同的构造函数(即形参列表完全相同),则程序将产生错误 struct Basel {Basel () = default;Basel (const ...
- 多重继承的构造函数和析构函数的执行顺序(包含虚基类)
下面示例就是说明多重继承析构函数和构造函数的执行顺序: #include <iostream> using namespace std;class A {public:A(int i){c ...
- C++虚继承中构造函数和析构函数顺序问题以及原理
多重继承的问题:多个类B,C,-继承同一个类A导致如果X继承了B,C,-那么在X中将还有多个A中成员的拷贝,如果想要访问A中的成员如果不加名字空间将会导致二义性,这种拷贝大多是没有实际意义的,为了避免 ...
- C++中构造函数和析构函数常见面试题?
构造函数和析构函数常见面试题? 构造函数和析构函数常见面试题? 1.永远不要在构造函数或析构函数中调用虚函数 2.为什么构造函数不能定义为虚函数 3.为什么析构函数可以定义为虚函数 4.构造函数的执行 ...
- C++ 笔记(17)— 类和对象(构造函数、析构函数、拷贝构造函数)
1. 构造函数 构造函数是一种特殊的函数(方法),在根据类创建对象时被调用.构造函数是一种随着对象创建而自动被调用的函数,它的主要用途是为对象作初始化. 构造函数的名称与类的名称是完全相同的,并且不会 ...
- php构造和析构方法,php5构造函数与析构函数实例
自php5起,有了构造函数与析构函数. 这使得php更富有面向对象的魅力了. 在php4时,构造函数用的是与类同名的函数来进行构造这个动作. 例如: 复制代码 代码示例: /* * myclass.p ...
- 提高C++性能的编程技术笔记:构造函数和析构函数+测试代码
对象的创建和销毁往往会造成性能的损失.在继承层次中,对象的创建将引起其先辈的创建.对象的销毁也是如此.其次,对象相关的开销与对象本身的派生链的长度和复杂性相关.所创建的对象(以及其后销毁的对象)的数量 ...
- c++, 派生类的构造函数和析构函数 , [ 以及operator=不能被继承 or Not的探讨]
说明:文章中关于operator=实现的示例,从语法上是对的,但逻辑和习惯上都是错误的. 参见另一篇专门探究operator=的文章:<c++,operator=>http://www.c ...
- C++中的构造函数VS析构函数
1.构造函数 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行.构造函数的名称与类的名称的完全相同的,并且不会返回任何数据类型,也不会返回void.构造函数用于为某些成员变量设置初 ...
最新文章
- nginx 禁止通过IP,未绑定域名访问服务器
- java.lang.unsatisfiedlinkerror:_java.lang.UnsatisfiedLinkError: 的问题
- 李浩:无限节点的CDN架构演进
- 第四课 脱壳必备知识要点及方法
- 产教融合,共塑未来”,CIE 2018 中国 IT 教育博鳌论坛盛大落幕
- sql 将8位字符串转换成日期型
- (16)数据结构-并查集
- Aaron Swartz Rewriting Reddit中关于web.py的创建思路
- STM32官方应用笔记分类汇总
- 盘点面试中常见的智力题
- RCC_APB2Periph_AFIO时钟一般在什么时候下需要开启?
- Android 调用语音模块
- win远程桌面连接服务器,远程桌面连接windows服务器
- 用数据分析头部微信公众号到底有多牛
- python学习之旅_第1天
- 【毕业设计系列】033:基于MATLAB语言的实时变声器系统【含Matlab源码】
- 约四成的平板和智能手机用户看电视时“一心多用”
- Blob detection+高斯二阶导(拉普拉斯模板)+尺度的选择+加快速度(DoG+分层处理)
- 华为ICT云赛道真题
- 嵌入式新闻早班车-第9期