-3
を回避しない理由を次のように私は2つのクラスがあります。同じ名前の変数を持つサブクラスの場合、なぜ親クラス変数が非表示になるのですか?
この相続が発生したclass parent
{
public:
int a;
};
class child: public parent
{
public:
int a;
};
、子クラスは親クラスから変数a
非表示になりますが、親クラスがまだparent::a
としてスコープ解決演算子を使ってa
アクセスすることができます。 parent::a
はなぜ避けられないのですか?
誰かが私になぜC++が隠されたときにparent::a
を "避ける"ことができないのか教えてください。私は子クラスにparent::a
を保存することはメモリの無駄だと思います。
人々は通常意味のある名前を使用する理由があります – Igor
'child'に' parent :: a'が必要ない場合、 'child'は' parent'ではありません。継承を使用しないことを検討してください – KABoissonneault
関数のオーバーライドと呼ばれる関数には意味がありますが、変数には意味がありません。 –