次の例を見てください。
class A {
public:
A(int param1, int param2, int param3) {
// ...
}
};
class B : public A {
public:
B() : m_param1(1), m_param(2), m_param(3), A(m_param1, m_param2, m_param3) {
// ...
}
};
B b;
明らかに、「b」が作成されるとき、B のパラメータが初期化される前に A の ctor が呼び出されます。
このルールにより、クラスの初期化を簡素化する「ラッパー」クラスを作成できなくなります。
それを行うための「正しい方法」は何ですか?
ありがとう、アミール
PS: 私の特定のケースでは、パラメーターはプリミティブではありません。この例は、自分自身を説明するのに役立ちました。