C++多重继承Demo

你离开我真会死。 提交于 2019-11-26 18:35:12
#include    <iostream>
class A
{
    private:
        char data;
    public:
        A(){data = 'A';};
        virtual void Show()
        {
            std::cout << data << std::endl;
        };
        virtual void Display()
        {
            std::cout << 'A' << std::endl;
        }
};

class B
{
    private:
        char data;
    public:
        B(){data = 'B';};
        virtual void Show()
        {
            std::cout << data << std::endl;
        };
        virtual void Display()
        {
            std::cout << 'B' << std::endl;
        }
};




class C
{
    private:
        char data;
    public:
        C(){data = 'C';};
        void Print()
        {
            std::cout << "this is class C printing" << std::endl;
        };
};



class D: public A, public B, public C
{
    private:
        char data;
    public:
        D(){data = 'D';};
        virtual void Show()
        {
            std::cout << data << std::endl;
        };
        virtual void Display()
        {
            std::cout << 'D' << std::endl;
        };
};



    int
main ( int argc, char *argv[] )
{

    D *d = new D;
    A *a = (A*)d;
    B *b = (B*)d;

    d->Show();
    d->Print();
    a->Show();
    b->Show();


    d->Display();
    a->Display();
    b->Display();
        
    return 0;
}                /* ----------  end of function main  ---------- */

转载于:https://www.cnblogs.com/Leo-Forest/archive/2012/07/06/2579633.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!