91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++多重繼承中的虛繼承和虛函數舉例

發布時間:2020-03-23 03:41:28 來源:網絡 閱讀:939 作者:銀河星君 欄目:編程語言

上一篇虛繼承舉例:http://10638473.blog.51cto.com/10628473/1964414


本文將A類中的show()函數前加上virtual關鍵字。

//多重繼承
#include <iostream>
using namespace std;

class A
{
public:
    int a;
    A(int a=0):a(a)
    {
        cout<<"A基類A::A()"<<endl;
    }
    ~A()
    {
        cout<<"A基類A::~A()"<<endl;
    }
    virtual void show()
    {
        cout<<"A基類A::a="<<a<<endl;
    }
};

class B:virtual public A
{
protected:
    int b;
public:
    B(int a=0,int b=0):A(a),b(b)
    {
        cout<<"B子類B:B()"<<endl;
    }
    ~B()
    {
        cout<<"B子類B:~B()"<<endl;
    }
    void show()
    {
        cout<<"B子類B::b="<<b<<endl;
    }
};

class C:virtual public A
{
protected:
    int c;
public:
    C(int a=0,int c=0):A(a),c(c)
    {
        cout<<"C子類C::C()"<<endl;
    }
    ~C()
    {
        cout<<"C子類C::~C()"<<endl;
    }
    void show()
    {
        cout<<"C子類C::c="<<c<<endl;
    }
};

class D:public B,public C
{
protected:
    int d;
public:
    D(int a=0,int b=0,int c=0,int d=0):d(d),B(a,b),C(a,c)
    {
        cout<<"D孫子類D::D()"<<endl;
    }
    ~D()
    {
        cout<<"D孫子類D::~D()"<<endl;
    }
    void show()
    {
        cout<<"D孫子類D::c="<<d<<endl;
    }
};
void Display(A *p)
{
    p->show();
}
int main(int argc, char *argv[])
{
    A a(1);
    B b(2,3);
    C c(4,5);
    D d(6,7,8,9);
    
    A *p;
    p=&a;
    p->show();
    
    p=&b;
    p->show();
    
    p=&c;
    p->show();
    
    B *q;
    q=&d;
    q->show();
    
    return 0;
}

C++多重繼承中的虛繼承和虛函數舉例


可以和上一篇對比一下結果。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

峡江县| 哈尔滨市| 霍山县| 景东| 保德县| 济南市| 垦利县| 中卫市| 黑河市| 巴东县| 广德县| 靖宇县| 军事| 拉萨市| 苍溪县| 南漳县| 湘潭市| 图木舒克市| 固始县| 海城市| 祁连县| 滁州市| 两当县| 怀宁县| 荥阳市| 保亭| 涡阳县| 巴南区| 西吉县| 同心县| 志丹县| 西丰县| 怀来县| 科技| 海晏县| 广南县| 双流县| 湖州市| 东海县| 建德市| 镶黄旗|