このスレッドの呼び方がよくわかりませんでした。状況は以下です。テンプレートクラスがありArray<T>ます:
template <typename T> class Array{
private:
    T* m_cData;
    int m_nSize;
    static int s_iDefualtSize;
public:
    Array();
    Array(int nSize);
}
Array<T>ここで、のオブジェクトを保持する、 から派生した特殊なクラスを書きたいと思いclass Boxesます。
class Boxes{
private:
    double m_dFull;
public:
    Boxes(double dFull=0): m_dFull(dFull) {}
};
私は次の方法でそれを行います:
class BoxesArray : public Array<Boxes>{
public:
    BoxesArray() : Array<Boxes>::Array() {}
    BoxesArray(int nValue) : Array<Boxes>::Array(nValue) {}
}
そして、専用の機能をいくつか追加しますBoxes。わかりましたので、ここで混乱の一番が来ます。呼び出しArrayBoxes()は、オブジェクト配列をインスタンス化し、このオブジェクトを「準備」してボックスを保持するように見えますよね? しかし、どのようにして (つまり、上記のコードのどの部分で) オブジェクトArrayBoxesを作成した後、既にボックスで満たされているのでしょうか? そして、2 番目の質問です。ArrayBox を満たすこれらの Box は、Box の既定のコンストラクターを使用して構築されていることがわかります (Boxm_dFullは 0 に設定されています)。与える、たとえば、ボックスm_dFull = 0.5)?すべての編集で、私の質問が明確になったことを願っています。