虚继承和虚函数继承

来源:互联网 发布:hybrid端口 编辑:程序博客网 时间:2024/05/18 04:00

虚继承:
虚拟继承是多重继承中特有的概念。虚拟基类是为了解决多重继承带来的重复继承,节省内存开销,而引入虚继承的概念。

class A;class  B:public virtua A;class C:public  viirtual A;class D:public B,public C; 
#include <iostream>#include <string>using namespace std;class A{    int m_na;};class B{    int m_nb;};class C:public A,public B{    int m_nc;};int main(){    C *pc=new C;    B *pb= dynamic_cast<B *>(pc);    A *pa= dynamic_cast<A *>(pc);    if(pc==pa)        cout<<"equal"<<endl;    else        cout<<"not equal"<<endl;    if(int(pc)==int(pb))        cout<<"equal"<<endl;    else        cout<<"not equal"<<endl;    return 0;}

if(pc==pb)会发生隐式转换。pc==(c*)pb

0 0
原创粉丝点击