C++のデストラクタとコンストラクタについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
黒川

C++のデストラクタとコンストラクタについて

#1

投稿記事 by 黒川 » 7年前

下記認識正しいかどうかお尋ねします。

1.子クラスの某constructorの引数リストと親クラスの某constructorの引数リストがまったく同じであれば、”:”で親のconstructorをコールする必要はなく、
自動的に親のそのconstructorをコール直前に先にコールされる。

2.同じことに、distructorの場合も基本同じで、ただ、同じ引数を有する親のdistructorが最後にコールされる。

3.引数同じのconstructorが親クラスになければ、どうなるのでしょうか?

4.必要に応じて子クラスのconstructorに”:”で親のconstructorをコールすることは
大丈夫でしょうかーーー例:
subClass(...):supperClass(...)
{

}

宜しくお願いします。

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: C++のデストラクタとコンストラクタについて

#2

投稿記事 by YuO » 7年前

黒川 さんが書きました:下記認識正しいかどうかお尋ねします。
なので,「認識が正しいかどうか」を訊ねられているものと考えます。
黒川 さんが書きました:1.子クラスの某constructorの引数リストと親クラスの某constructorの引数リストがまったく同じであれば、”:”で親のconstructorをコールする必要はなく、
自動的に親のそのconstructorをコール直前に先にコールされる。
正しくないです。
オフトピック
根拠:ちょっと古いですがISO/IEC 14882:2011 12.6.2 Initializing bases and members / Paragraph 8。
12.9にInheriting constructorsというのがあるが,これは意味が異なる
黒川 さんが書きました:2.同じことに、distructorの場合も基本同じで、ただ、同じ引数を有する親のdistructorが最後にコールされる。
distructorとは?
destructorだとしても,destructorとは何かを知っていると「同じ引数を有する」という表現が出てくるはずが無く,
根本的なところでdestructorについて正しく認識していないと思われます。
黒川 さんが書きました:3.引数同じのconstructorが親クラスになければ、どうなるのでしょうか?
あなたの認識ではどうなのですか。
黒川 さんが書きました:4.必要に応じて子クラスのconstructorに”:”で親のconstructorをコールすることは
大丈夫でしょうかーーー例:
subClass(...):supperClass(...)
{

}
あなたの認識ではどうなのですか。

返信

“C言語何でも質問掲示板” へ戻る