C++クラスでは、別のサブセット内からスーパーセットの変数にアクセスするにはどうすればよいですか?これは、あなたが理解するための例としてのみ視覚的に表示することができます。サブセット内のスーパーセット変数に別のサブセット内でアクセスする
CIAは大統領の上にあり、大統領からの機密情報を保持する権利を持っています。
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つのコメントでは、あなたが望むものを達成する方法があるかもしれないが、明確に例が代表的ではないことを明確に伝える必要があります(あなたが自分自身と言うように、エイリアンにはアクセスできません) –