PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] print value
作者:
a33667004
(A-story)
2016-01-26 21:08:37
想請問一下
Class A {
A(){print();}
virtual print(){cout << “in A”<<endl;}
};
Class B: public A{
B(){print();}
virtual print(){cout << “in B”<<endl;}
};
void main(void)
{
B b ;
}
像這樣的問題 是會先印出B在印出A嗎
也就是 inB inA
可是不太懂原理,想請教一下~謝謝
作者:
Caesar08
(Caesar)
2016-01-26 21:20:00
沒compiler?
http://ideone.com/ideone/Index/submit/
作者: james1022jk (雁)
2016-01-27 00:15:00
這compiler會過嗎.....
作者:
ronin728
(浪人)
2016-01-27 01:18:00
題外話: 建構式要public才能用, 別再 void main了, 建構式最好 不要 呼叫virtual member。 正題: 繼承的 class 建構式會先跑他的基礎類別,inA 才 inB。
作者:
LPH66
(-6.2598534e+18f)
2016-01-27 02:26:00
建構物件中不該呼叫 virtual, 不只是最好不要而已因為建構物件途中所有關於此物件的型別判定都是正建構中的物件本身, 不論正建構中的物件是在繼承關係的哪裡virtual 函式的問題只是這個判定的效應之一而已
繼續閱讀
[問題] enable_shared_from_this 的功能???
yhn0tgb60
[問題] Android 內的一個 cpp 檔
gn00618777
[問題] unique_ptr 接 raw ptr argument
lovesnake
[問題] 重構書籍推薦
noodleT
[問題] 多執行緒程式撰寫技巧
Clangpp
[問題] data和 function 是否需要分class?
yhn0tgb60
[問題] function參數作靜態arrray size宣告
godman362
[問題] char宣告基礎問題
wtmo5566
[問題] 選擇排序法
hth9494
[問題] opencv 取值問題
a98765s
Links
booklink
Contact Us: admin [ a t ] ucptt.com