码迷,mamicode.com
首页 > 其他好文 > 详细

多继承

时间:2019-02-23 11:03:53      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:继承   字节   c++   通过   增加   nbsp   变量   编译器   eof   

一、概念

  一个类有多个直接基类的继承关系称为多继承,多继承会引入其他问题:

  1.祖先类obj中有一个变量a,然后有P1和P2两个类分别都继承obj类,再有C1类多继承P1和P2时,定义的对象使用变量a时,编译不知道引用P1的还是P2的变量a,会编译报错(变量a的二义性),可以使用虚继承解决此问题,

    如:class P1:virtual public obj   //加上virtual后,c++编译器会给变量偷偷添加属性,这样此类的sizeof()会增加4个字节;

  2.如果P1和P2类同时含有同名的成员,多继承P1和P2时,则不能通过虚继承来解决,使用同名变量需要作用域分析符来区分,否则编译报错;

  3.添加虚继承后,构造和析构的函数会多调用一遍;

 

多继承

标签:继承   字节   c++   通过   增加   nbsp   变量   编译器   eof   

原文地址:https://www.cnblogs.com/jly594761082/p/10421743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!