こんにちは私は自分の考えを持っていますが、実装方法はわかりません。私のプログラムでは、すでにBaseクラスと派生クラスはほとんどありません。クラス固有のパラメータを持つC++仮想メソッド
base.hpp
BaseClass {
public:
BaseClass();
virtual int getSomething(int param);
}
base.cpp
BaseClass::BaseClass(){};
int BaseClass::getSomething(int param)
{
return param * 5;
}
derived1.hpp
DerivedClass1 : public BaseClass {
public:
DerivedClass1();
}
derived2.hpp
DerivedClass2 : public BaseClass {
public:
DerivedClass1();
}
ここでは、必要に応じてDerivedクラスまたはBaseクラスを使用します。私が欲しいもの
BaseClass *c = (BaseClass *) new DerivedClass1;
cout << c->getSomething(5);
はDerivedClass1とDerivedClass2ごとに異なるだろう基底クラスで、クラスの特定のパラメータのいくつかのタイプを、持っていることです。ここに、どのように見えるかの例があります。 DerivedClass2 6または何であろうため
base.hpp
BaseClass {
public:
BaseClass();
virtual int getSomething(int param);
}
base.cpp
BaseClass::BaseClass(){};
int BaseClass::getSomething(int param)
{
return param * CLASS_SPECIFIC_PARAM;
}
次にDerivedClass1このCLASS_SPECIFIC_PARAMは、5あろう。 これも可能ですか?これを行う最善の方法は何ですか?
はい、これです。ありがとう – user2336793