[過去ログ] 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
603: デフォルトの名無しさん [] 2018/04/16(月) 07:57:32 ID:PsSdBUuj(1/3) AAS
>>602602(1): デフォルトの名無しさん [sage] 2018/04/16(月) 00:20:31 ID:TXxoP4/a(1/2) AAS
参照のポインタっぽい振る舞いを確認したいならこう
Derived d;
Base & b1(d);
b1.A();
ありがとうございました。
下の結果は、
Base
Derived
Derived
になりました。1番目と2番目の違いがよく分かりません。この違いが分かれば、疑問が
解消することになると思うので、理解したいです。
#include "Derived.h"
int main() {
Derived d;
Base b;
Base& br1 = b;
br1 = d;
br1.A();
Base& br2(d);
br2.A();
Base *bp;
bp = &d;
bp->A();
}
604(1): デフォルトの名無しさん [] 2018/04/16(月) 08:01:12 ID:PsSdBUuj(2/3) AAS
Base
Derived
Derived
となりました。
2番目と3番目は同じことの別表現のようですね。
見た感じ、1番目と2番目に違いがあるようには思えません。
Derived d;
Base b;
Base& br1 = b;
br1 = d;
br1.A();
Base& br2 = d;
br2.A();
Base& br3(d);
br3.A();
606: デフォルトの名無しさん [sage] 2018/04/16(月) 08:32:20 ID:PsSdBUuj(3/3) AAS
>>605605(1): デフォルトの名無しさん [sage] 2018/04/16(月) 08:14:10 ID:TXxoP4/a(2/2) AAS
>>604
参照は初期化時に参照先が設定され、以降の操作は参照先に対してなされる。
初期化と代入を区別すること。
Base& br1 = b; // 初期化 br1 は b の参照
br1 = d; // 代入 b = d と同じ動作
Base& br2 = d; // 初期化 br2 は d の参照
ありがとうございました。
>Base& br1 = b; // 初期化 br1 は b の参照
>br1 = d; // 代入 b = d と同じ動作
br1 = d としても参照先は変わらないんですね。
ありがとうございました。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.041s