2 つのクラスがあるとします。
class Parent
{
public:
vector<int> x;
protected:
void Method();
}
と
class Child : public Parent
{
public:
vector<double> x;
}
このメソッドMethod()
は、x
と の両方のタイプに対応する操作を行いint
ますdouble
。
void Parent::Method()
{
x.push_back(1);
}
次に、クラスのインスタンスを作成しChild
、 を初期化し、基本クラスからvector<double> x
派生メソッドを呼び出すとMethod()
、C++ はのメンバーではなくParent
のメンバーを操作しようとします。作成されたクラスに属するメンバーに対して自動的に動作するように基本クラスのメソッドを作成する方法はありますか?x
Child
Child
vector<int> x
編集: McAden が正しく指摘したように、この動作はポリモーフィズムを使用して簡単に実現できます: 3 つのクラス - 1 つの基本クラスと 2 つの派生クラス。でも、2クラスだけでは無理ということでしょうか?