Re: [問題] 虛擬函數練習
void demo1(A t){t.print_msg();}
不管傳入這個函式的那個物件,它的 type 是 A, B, C
由於這個函式使用 call by value
一定會造成一個 copy 的動作,而製造出一個 A
接下來的 print_msg 也必然會呼叫 A 的函式
void demo2(A &t){t.print_msg();}
這個函式接收的是 reference,它不會有 copy 的動作
你傳 B 就收到 B, 你傳 C 就收到 C
因此 print_msg 也會根據你所傳的是哪個型別,而做選擇
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.171.46
推
05/08 13:03, , 1F
05/08 13:03, 1F
→
05/08 13:04, , 2F
05/08 13:04, 2F
→
05/08 13:04, , 3F
05/08 13:04, 3F
→
05/08 13:05, , 4F
05/08 13:05, 4F
→
05/08 13:09, , 5F
05/08 13:09, 5F
推
05/08 14:32, , 6F
05/08 14:32, 6F
討論串 (同標題文章)