鍍金池/ 問(wèn)答/C++/ C++中派生類和基類成員同名時(shí)如何訪問(wèn)基類成員?類似于Python中的super

C++中派生類和基類成員同名時(shí)如何訪問(wèn)基類成員?類似于Python中的super

#include <iostream>
using namespace std;

class Base
{
    public:
        int a = 10;

        void print()
        {
            cout << "BASE: a=" << a << endl;
        }
};

class Derive:public Base
{
    public:
        int a = 20;
        void print()
        {
            cout << "DERIVE: a=" << a << endl;
            //如何訪問(wèn)繼承基類的BASE::a
        }
};

int main()
{
    Base bc;
    Derive dc;

    bc.print();
    dc.print();
    system("PAUSE");
}
回答
編輯回答
心上人
2018年2月15日 01:59
編輯回答
放開(kāi)她

對(duì)於public成員, 這樣就行了:

#include <iostream>
using namespace std;

class Base
{
public:
    int a = 10;

    void print()
    {
        cout << "BASE: a=" << a << endl;
    }
};

class Derive:public Base
{
public:
    int a = 20;
    void print()
    {
        cout << "BASE in DERIVE: a=" << Base::a << endl;
        //如何訪問(wèn)繼承基類的BASE::a
    }
};

int main()
{
    Base bc;
    bc.Base::a = 30;
    Derive dc;
    dc.Base::a = 40;
    cout << "DERIVE a = " << dc.a << endl;

    bc.print();
    dc.print();
}
2017年10月1日 07:51