多重继承的构造函数和析构函数的执行顺序:

  1. //此处不做注释和说明了,看程序能读懂的
  2. #include <iostream>
  3. using namespace std;
  4. class base1
  5. {
  6. private:
  7. int x1;
  8. public:
  9. base1(int y1)
  10. {
  11. x1 = y1;
  12. cout<<"基类1构造函数执行..."<<"x1= "<<x1<<endl;
  13. }
  14. ~base1(){cout<<"base1 析构了...\n";}
  15. };
  16. class    base2
  17. {
  18. private:
  19. int x2;
  20. public:
  21. base2(int y2)
  22. {
  23. x2 = y2;
  24. cout<<"基类2构造函数执行..."<<"x2= "<<y2<<endl;
  25. }
  26. ~base2(){cout<<"base2 析构了...\n";}
  27. };
  28. class base3
  29. {
  30. private:
  31. int x3;
  32. public:
  33. base3(){cout<<"构造基类3...\n";}
  34. ~base3()
  35. {
  36. cout<<"基类3析构了...\n";
  37. }
  38. };
  39. //多重继承派生类的构造函数是按照声明的顺序执行的...
  40. class derived:public base2,public base1,public base3
  41. {
  42. private:
  43. base1 obj1;
  44. base2 obj2;
  45. base3 obj3;
  46. public:
  47. derived(int x,int y,int z,int v):base1(x),base2(y),obj1(z),obj2(v)
  48. {
  49. cout<<"派生类构造函数执行...\n";
  50. }
  51. ~derived(){cout<<"派生类析构函数执行...\n";}
  52. };
  53. int main()
  54. {
  55. derived ob(1,2,3,4);
  56. return 0;
  57. }

转载于:https://blog.51cto.com/nojob/318434

多重继承的构造函数和析构函数相关推荐

  1. C++ Primer 5th笔记(chap 18 大型程序工具) 多重继承之构造函数、析构函数

    1. 继承的构造函数与多重继承 如果从多个基类中继承了相同的构造函数(即形参列表完全相同),则程序将产生错误 struct Basel {Basel () = default;Basel (const ...

  2. 多重继承的构造函数和析构函数的执行顺序(包含虚基类)

    下面示例就是说明多重继承析构函数和构造函数的执行顺序: #include <iostream> using namespace std;class A {public:A(int i){c ...

  3. C++虚继承中构造函数和析构函数顺序问题以及原理

    多重继承的问题:多个类B,C,-继承同一个类A导致如果X继承了B,C,-那么在X中将还有多个A中成员的拷贝,如果想要访问A中的成员如果不加名字空间将会导致二义性,这种拷贝大多是没有实际意义的,为了避免 ...

  4. C++中构造函数和析构函数常见面试题?

    构造函数和析构函数常见面试题? 构造函数和析构函数常见面试题? 1.永远不要在构造函数或析构函数中调用虚函数 2.为什么构造函数不能定义为虚函数 3.为什么析构函数可以定义为虚函数 4.构造函数的执行 ...

  5. C++ 笔记(17)— 类和对象(构造函数、析构函数、拷贝构造函数)

    1. 构造函数 构造函数是一种特殊的函数(方法),在根据类创建对象时被调用.构造函数是一种随着对象创建而自动被调用的函数,它的主要用途是为对象作初始化. 构造函数的名称与类的名称是完全相同的,并且不会 ...

  6. php构造和析构方法,php5构造函数与析构函数实例

    自php5起,有了构造函数与析构函数. 这使得php更富有面向对象的魅力了. 在php4时,构造函数用的是与类同名的函数来进行构造这个动作. 例如: 复制代码 代码示例: /* * myclass.p ...

  7. 提高C++性能的编程技术笔记:构造函数和析构函数+测试代码

    对象的创建和销毁往往会造成性能的损失.在继承层次中,对象的创建将引起其先辈的创建.对象的销毁也是如此.其次,对象相关的开销与对象本身的派生链的长度和复杂性相关.所创建的对象(以及其后销毁的对象)的数量 ...

  8. c++, 派生类的构造函数和析构函数 , [ 以及operator=不能被继承 or Not的探讨]

    说明:文章中关于operator=实现的示例,从语法上是对的,但逻辑和习惯上都是错误的. 参见另一篇专门探究operator=的文章:<c++,operator=>http://www.c ...

  9. C++中的构造函数VS析构函数

    1.构造函数 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行.构造函数的名称与类的名称的完全相同的,并且不会返回任何数据类型,也不会返回void.构造函数用于为某些成员变量设置初 ...

最新文章

  1. nginx 禁止通过IP,未绑定域名访问服务器
  2. java.lang.unsatisfiedlinkerror:_java.lang.UnsatisfiedLinkError: 的问题
  3. 李浩:无限节点的CDN架构演进
  4. 第四课 脱壳必备知识要点及方法
  5. 产教融合,共塑未来”,CIE 2018 中国 IT 教育博鳌论坛盛大落幕
  6. sql 将8位字符串转换成日期型
  7. (16)数据结构-并查集
  8. Aaron Swartz Rewriting Reddit中关于web.py的创建思路
  9. STM32官方应用笔记分类汇总
  10. 盘点面试中常见的智力题
  11. RCC_APB2Periph_AFIO时钟一般在什么时候下需要开启?
  12. Android 调用语音模块
  13. win远程桌面连接服务器,远程桌面连接windows服务器
  14. 用数据分析头部微信公众号到底有多牛
  15. python学习之旅_第1天
  16. 【毕业设计系列】033:基于MATLAB语言的实时变声器系统【含Matlab源码】
  17. 约四成的平板和智能手机用户看电视时“一心多用”
  18. Blob detection+高斯二阶导(拉普拉斯模板)+尺度的选择+加快速度(DoG+分层处理)
  19. 华为ICT云赛道真题
  20. 嵌入式新闻早班车-第9期

热门文章

  1. python之路---25 模块和包
  2. python函数基础和装饰器
  3. MBR与GPT分区格式(实例-创建大于2TB的分区)
  4. ThinkPHP 数据库表结构处理类(简单实用)
  5. 获取某一目录之下所有文件的大小
  6. VMware Virtual SAN 互操作性:OpenStack
  7. Linux技术研究-基础篇(raid与LVM,配额)
  8. 增大减小LV大小和文件系统
  9. linux常见问题解答汇总
  10. 杨老师课堂之JavaEE三大框架Hibernate入门第一课