C++相談室2

このエントリーをはてなブックマークに追加
370351
>>361
ええ。叩かせて頂きまふ(w

上のURLの方は、説明してる事は*ほぼ*正しいんですが、
>仮想関数はコンストラクタ内では正しく働かない。
という表現が間違ってますな。

下のURLの方は、>>358と同じ勘違いをしてるんでしょう。
何処を勘違いしてるかは、>>352>>367が書いてるから省略。

仕様を調べたわけじゃないから不正確だけど、危ないのは
初期化構文で仮想関数を呼んだ場合。(B() : A(method()) { })

仮想関数テーブルが初期化作業は、初期化構文を抜けて、
コンストラクタの関数部分({})に入る直前に行われるから、
この場合は何が起こるかわからない。(bcc32.exeだと落ちた)