虚基类、抽象类

虚基类

1 表示方式:

class A

{

 public:

          A()

         {

               cout<<"the constructor of A"<<endl;

         }

         ~A()

        {

               cout<<"the destructor of A"<<endl;

         }

 private:

        // add the code in here

}

 

class B: virtual pubilc A

{

 public:

          B()

          {

                cout<<"the constructor of B"<<endl;

          }

         ~B()

        {

               cout<<"the destructor of B"<<endl;

         }

private:

        // add the code in here

类B虚拟继承了类A,那么类A就称为类B的虚基类。

2 虚基类解决什么问题,或者说引入的目的

虚基类的引入,是解决多重继承时,派生类出现的二义性问题。

如:类B和类C,直接继承类A,类D多重继承类B和类C,当类D访问类A中的变量时就会出现二义性错误,如果是类B和类C虚拟继承类A,那么当类D多重继承类B和类C时,类D只会有类A的一个对象,这样就解决了二义性的问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值