C ++はいつデフォルトコンストラクタを合成しますか

最初にこの質問を検討してください。C++では、クラスのデフォルトの構築メソッドを合成したり、その構築メソッドを拡張したりする必要がある場合があります。なぜですか。
クラスは初期化時に仮想メソッドテーブルの作成やオブジェクトメンバーの初期化などの追加の処理を行う必要があるため、デフォルトの構築メソッドを合成するか、構築メソッドを拡張します。これらの操作は、新しいオブジェクトを作成するときに実行する必要があります。それらすべてが一緒になって、その場所は工法と呼ばれます。

この記事には間違いがあります。仮想基本クラスがある場合、仮想基本クラスオブジェクトへのポインタを設定する代わりに、仮想基本クラスオブジェクトのデータも派生オブジェクトと一緒にまとめられます。本当の理由は、仮想基本クラスも基本クラスであり、理由は基本クラスと同じであるということです。
関連記事

おすすめ

転載: blog.csdn.net/qq_41634872/article/details/110494295