基本クラスと派生クラスがあります。基本クラスのコンストラクターには、いくつかの静的const変数があります。派生クラスコンストラクターで使用して基本クラス変数を作成しても大丈夫ですか?
サンプルコードは次のようになります
//Base.hpp
class Base {
public:
Base(int value_, long sizee_);
private:
int value;
int sizee;
protected:
static const int ONE = 1;
static const int TWO = 2;
static const long INT_SIZE = (long)sizeof(int);
static const long LONG_SIZE = (long)sizeof(long);
};
//Base.cpp
Base::Base(int value_,int sizee_):value(value_),sizee(sizee_) {
}
//Derived.hpp
class Derived: class Base {
public:
Derived();
};
//Derived.cpp
Derived::Derived():Base(ONE+TWO,INT_SIZE+LONG_SIZE) {
}
ここで、ONE、TWO、INT_SIZE、LONG_SIZEは基本クラスの静的変数であり、これを使用して基本クラス自体を構築します。このアプローチは問題ありませんか?ご意見をお聞かせください。