子クラスのコンストラクターの初期化リストを使用して、親クラスで保護されていると宣言されたデータ メンバーを初期化することは可能ですか? 私はそれを働かせることができません。私はそれを回避することができますが、そうする必要がなければいいでしょう。
サンプルコード:
class Parent
{
protected:
std::string something;
};
class Child : public Parent
{
private:
Child() : something("Hello, World!")
{
}
};
これを試してみると、コンパイラは「クラス 'Child' には 'something' という名前のフィールドがありません」と教えてくれます。このようなことは可能ですか?もしそうなら、構文は何ですか?
どうもありがとう!