X



【初心者歓迎】C/C++室 Ver.102【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2017/11/04(土) 16:33:35.07ID:NYxCuvMY
エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります

コードを貼れる所
http://codepad.org/
https://ideone.com/

前スレ
【初心者歓迎】C/C++室 Ver.101【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1500329247/
0578デフォルトの名無しさん
垢版 |
2018/04/15(日) 10:11:08.98ID:c4dXLki+
b = d;
b.A() ⇒ 「Base」が表示される。

↑で、なぜ、「Derived」が表示されないのでしょうか?

ロベールの本に、
「仮想関数はどんな状況でもそのオブジェクトの本来の型のものが呼ばれる」
と書いてあります。
0579デフォルトの名無しさん
垢版 |
2018/04/15(日) 10:29:12.58ID:VXOW+WoG
void Base::A() {
B();
}

void Base::B() {
cout << "Base" << endl;
}

A() の中で、B() を呼んでいるから

A(), B() は異なる関数なのに、呼ぶなんてあり得ないだろ。
こんなコーディングはしない
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況