在C++類中,如何從另一個子集內訪問超集的變量?這隻能在視覺上作爲你理解的例子。從另一個子集內的子集內訪問超集變量
中央情報局在總統之上,有權保留總統的機密信息。
class CIA {
public:
bool aliensExist = true; // 100%
};
class President {
public:
bool doAliensExist() {
return aliensExist; // Not sure, no access to CIA's aliensExist variable
}
};
class Subset : public President, public CIA {
};
int main() {
Subset subset;
cout << "Aliens exist = " << subset.doAliensExist() << endl;
}
如何訪問aliensExist
使用從Subset
類內內President
類中的方法?
我知道上面的例子是不合邏輯的,當然President
不能訪問CIA
而不是它的直接子集,但我想知道什麼是這樣的好方法?
使'doAliensExist()'爲抽象方法,並在'Subset'中覆蓋它。有關更多信息[請參閱您的C++書籍](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。 –
基類沒有彼此的知識。 'Subset'類具有,並且可能能夠進行協調。 –
除非你對「這樣的事情」更具體,否則你只會得到評論或者反對票。正如前面的2條評論所說,可能有辦法實現你想要的,但你應該清楚地告訴你確實想要的是什麼,因爲清楚的例子並不具有代表性(你無法訪問外星人從總統那裏存在,就像你自己說的那樣) –