これは、変数名のC++継承とあいまい性に関するものです。C++のプライベート変数名と継承のあいまいさ
私はこのような状況にいると仮定します。
class A{
public:
void fct(){do something with x;}
private:
int x;
};
class B: public A{
private:
int x;
};
私は、派生クラス
B foo;
のいくつかのインスタンスを定義し、
foo.fct();
A::x
上fct()
行為は意志を呼び出す場合またはB::x
? 私はそれがA::x
に作用することを望みます。クラスAでプライベートとしてxを宣言することは、派生クラスを定義するときに発生する可能性のある欲求のない曖昧さに対して安全にするのに十分ですか?
私はB::x
の別の名前を使用することが最もよいことを理解しています...しかし、1つが「散漫」であり、プライベートA::x
が存在することを忘れた場合、結果はどれくらい悪くなるでしょうか?
ありがとうございました!