2010-03-08 73 views
1

我有關於如何通過繼承訪問具有相同名稱的成員的問題。例如,如何在繼承中訪問具有相同名稱的成員

class Base { 

public: 
int i; 

}; 
class Derived1 : public Base { 

    public: 
    int i; 

    // how to access the i in the base class here? 
}; 

int main() { 

    Derived1 d; 
    cout<<d.i;       //which is it is? 

    //how to access the different i here? 

} 

回答

10

在你的榜樣d.i是指在派生類中的i

您可以通過與基類名稱限定它指的是基類i

d.Base::i 

在一般情況下,這是一個壞主意,有派生類具有相同名稱作爲基類成員成員。

+0

+1用於回答問題,並指出這通常不是一個好主意。 – 2010-03-08 16:51:50

相關問題