C++多重继承Demo

#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

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/54538

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 上午5:42
下一篇 2023年2月9日 上午5:43

相关推荐