[問題] 繼承函式呼叫問題

看板C_and_CPP作者 (相信自己)時間16年前 (2010/01/06 20:05), 編輯推噓1(1010)
留言11則, 3人參與, 最新討論串1/2 (看更多)
小的在面試時遇到這考題(憑印象) 我知道這是很基本的問題 想說一定要會的說 想不到結果出來觀念有錯 想請教各位答案應該是多少 註解1~13我寫 1~6 1 2 3 1 6 7 7~17 1 6 3 4 1 6 7 5 6 7 8 謝謝囉~ class AA { public: AA() { printf("1"); } virtual void F1() { printf("2"); } void F2() { printf("3"); } ~AA() { printf("4"); } } class BB:AA //BB繼承AA { public: BB() { printf("5"); } virtual void F1() { printf("6"); } void F2() { printf("7"); } ~BB() { printf("8"); } } void main() { AA v1; // 1 v1.F1(); // 2 v1.F2(); // 3 BB v2; // 4 v2.F1(); // 5 v2.F2(); // 6 AA v3 = new BB(); // 7 v3.F1(); // 8 v3.F2(); // 9 delete v3; // 10 BB *v4; // 11 v4->F1(); // 12 v4->F2(); // 13 BB v4 = new BB(); // 14 v4.F1(); // 15 v4.F2(); // 16 delete v4; // 17 } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.64.60.131

01/06 20:18, , 1F
這code...
01/06 20:18, 1F

01/06 20:50, , 2F
好傷眼睛呀!(我幫你接下一句話)
01/06 20:50, 2F

01/06 20:56, , 3F
...其實我是想說 怪怪的..
01/06 20:56, 3F

01/06 20:59, , 4F
對啊…怪怪的,有new的應該用->取成員函式~
01/06 20:59, 4F

01/06 21:00, , 5F
AA v3=new BB(); 怎麼沒星字號? =_=|||
01/06 21:00, 5F

01/06 21:00, , 6F
是我不知道還是..new不是要傳給pointer嗎..
01/06 21:00, 6F

01/06 21:01, , 7F
然後class 結束應該要有;
01/06 21:01, 7F

01/06 21:02, , 8F
所以我也搞不太清楚,這是抓程式碼錯誤嗎?=_=|||
01/06 21:02, 8F

01/06 21:03, , 9F
執行結果 應該也不只17個數字
01/06 21:03, 9F

01/06 21:05, , 10F
可能原PO沒有先自行查書,就直接跑來問了~=_=|||
01/06 21:05, 10F

01/06 23:06, , 11F
某公司考題是嗎?
01/06 23:06, 11F
文章代碼(AID): #1BH7oJwt (C_and_CPP)
文章代碼(AID): #1BH7oJwt (C_and_CPP)