私のコードを何度も簡素化した後、私は次のような問題を発見しました。 class B {
public:
B(const int x)
:_x(x) {}
const int _x;
};
class C {
public:
C(const B& b)
: _b(b), _b2(_b._x) {}
B _b2; // l
可能性の重複: C++ initialization lists メンバーごとの初期化とクラスの直接の初期化の違いは何ですか? クラスに定義されている2つのコンストラクタの違いは何ですか? class A
{
public:
int x;
int y;
A(int a, int b) : x(a), y(b)
{}
A(int a,
時には、constメンバを初期化する前に、またはデフォルトのコンストラクタを持たないメンバを初期化する前に、クラスコンストラクタの引数に対して処理を行う必要があることがあります。 Javaで私はこれを行うことができます。例えば は、(これは一例ですが、なぜ聞かないでください):Cで class A
{
public A(int area, float aspectRatio) {