C++中 虚基类有什么作用,简单的说说,谢谢

如题所述

虚基类主要解决在多重继承时,基类可能被多次继承,虚基类主要提供一个基类给派生类。
例如:A是基类,B和C都继承了A类,而此时D又继承了B和C,那么D岂不是继承了两次A吗?为了避免重复多次继承,就应该声明B和C虚拟继承A,确保A被继承一次。

参考资料:http://zhidao.baidu.com/question/18388158.html

温馨提示:内容为网友见解,仅供参考
无其他回答

什么是虚基类(在c++中)?
其主要作用是充当构建多层次派生类的基石。虚基类的详细解释 在C++的多继承场景中,如果两个或多个派生类继承自同一个基类,可能会遇到一些问题。特别是当这些派生类还需要进一步继承其他类时,相同基类的多次实例会导致数据冗余。为了避免这种情况并提高继承的效率,引入了虚基类的概念。虚基类的核心在于其...

什么是虚基类(在C++中)?
在C++中,虚基类是一种特殊类型的基类,其主要作用在于处理多重继承时可能出现的复杂性。当派生类(Derive)通过virtual关键字从一个基类(Base)进行继承时,该基类就会变为虚基类。例如:class derive : virtual public base{}; 使用虚基类的主要目的是避免在多重继承中,同一基类被重复继承导致的混乱。如...

C++的虚基类的作用是什么
虚基类的作用是解决在多重继承中重复继承的问题

什么是虚基类(在C++中)?
虚基类主要解决在多重继承时,基类可能被多次继承,虚基类主要提供一个基类给派生类,如:class B { };class D1 : public B { };class D2 : public B { };class C: public D1, public D2 { };这里C在D1,D2上继承,但有两个基类,造成混乱。因而使用虚基类,即:class B { };clas...

C++中设置虚基类的目的是: A:简化程序 B:消除二义性 C:提高运行效率 D...
A:简化程序 和纯虚函数没关系 B:消除二义性 正解, 虚基类是为了强调"这个类型的某些方法没有意义, 只是为了继承, 不要构造这种类型的对象"C:提高运行效率 和纯虚函数没关系 D:减少目标代码 纯虚函数和空函数相比相差也就是几个字节, 如果这也算的话确实是减少了 ...

C++虚基类
虚基类是相对于它的派生类而言的,它本身可以是一个普通的类。只有它的派生类虚继承它的时候,它才称作虚基类,如果没有虚继承的话,就称为基类。比如类B虚继承于类A,那类A就称作类B的虚基类,如果没有虚继承,那类B就只是类A的基类。虚继承主要用于一个类继承多个类的情况,避免重复继承同一个...

C++中 抽象类和虚基类用途上有什么区别
我能想到的抽象类用处,大概这个优点可以用一用:含有纯虚函数的类都是抽象类。基类中实际上并不使用这个函数,它只是通知编译系统:在这里声明一个虚函数,留待在派生类中定义。为一个类族提供一个公共接口。例如,计算平面形状的面积,抽象类 基类中 virtual float area( ) const =0;派生类三角形,...

什么叫做虚基类,它有何作用
或多个副本),若只想保存这个基类的一个实例,可以将这个公共基类说明为虚基类。虚继承 是面向对象编程中的一种技术,是指一个指定的基类,在继承体系结构中,将其成员数据实例共享给也从这个基类型直接或间接派生的其它类。虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。

C++中虚函数的作用是什么?它应该怎么用呢?
C++中虚函数的作用:1、简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。2、实现多态性,多态性是将接口与实现进行分离。3、当基类指针指向一个子类对象,通过这个指针调用子类和基类同名成员函数的时候,基类声明为虚函数就会调子类的这个函数,不声明就会调用基类的。C++中虚函数的用法:1、...

关于C++中用虚基类解决二义性问题
那时因为base类里面没有默认构造函数只有一个复制构造函数。你在base的public成员里面加一个构造函数就行了 base(){};

相似回答