デフォルトのユーザー定義コンストラクタデフォルトの(ユーザー定義の)コンストラクタとコンストラクタの違いは何ですか?
class Simple
{
public:
Simple() {}
};
と複数の引数を取るだけでなく、WithDefaults
ができること以外のこれら
class WithDefaults
{
public:
WithDefaults(int i = 1) {}
};
のそれぞれについて、デフォルト値を持っているユーザー定義コンストラクタの間に違いがありますi
の明示的な値で構成されていますか?
具体的に言えば、これらの2つのコンストラクタが両方のデフォルトコンストラクタを同じロールで使用しているのか、クラスのプロパティ間に微妙な違いがあるのか、
つまり、すべての引数のデフォルト値をすべての方法でデフォルトコンストラクタに持つコンストラクタですか?
私はこれが重複していると予想していましたが、実際はどこでもこの回答が見つかりませんでした。 – MicroVirus
[C++コンストラクタのデフォルトパラメータ](* http://stackoverflow.com/questions/187640/default-parameters-with-c-constructors)で*ほぼ*回答していますが、わかりません。 – MicroVirus
孤立して、私はクラスは同じだと思います。コンバージョンを考慮した場合、彼らは異なる行動をとることができます。 @MicorVirusの2番目のコメントのリンクはこれをさらに説明しています。 –