私は基底クラスに定数int変数を持っていますが、これは可能なのですが、別の値(パラメータとして取られる)を持つ派生クラスの応答を初期化したいのですか?ここでC++派生クラスの基本クラス 'const intを初期化しますか?
は、私がやったことだ:
// Base.h (methods implemented in Base.cpp in the actual code)
class Base {
public:
Base(const int index) : m_index(index) {}
int getIndex() const { return m_index; }
private:
const int m_index;
};
// Derived.h
class Derived : public Base {
public:
Derived(const int index, const std::string name) : m_name(name) {}
void setName(const std::string name) { m_name = name; }
std::string getName() const { return m_name; }
private:
std::string m_name;
};
しかし、明らかにそれは私がそうでない、存在しない、と私はそれを定義した場合、私はm_index
のデフォルト値を与える必要がありますBase::Base()
のための私を求めていますやってみたいです。派生クラスごとに別々にを定義する必要はありますか?
似質問が、静的はどのような方法で、この影響を与える場合、私はわからない: C++ : Initializing base class constant static variable with different value in derived class?
私は3〜4年か何かのようにC++をやっていましたが、これに遭遇したことはありませんか?私はいつもデフォルトのコンストラクタを使う必要があると思っています...ありがとう、ちょっと待ってください。 –