デフォルトコンストラクタ C++では、クラスを定義したときにコンストラクタを定義しなければ、コンパイラが自動的に引数なしのコンストラクタおよびコピーコンストラクタを補完します。 class Person { std::string name; }; と記述したクラスは、デフォルトコンストラクタ、デフォルトデストラクタ、デフォルトコピーコンストラクタ、デフォルト代入演算子関数がコンパイラによって補完され、実質以下のコードと同等になります。 class Person { std::string name; public: Person() {} ~Person() {} Person(const Person& aPerson) { ... } Person& operator=(const Person& rhs) { ... } }; ここで、メンバー変数がstd::string& nam