討論串C++ overriding/overriding的問題
共 8 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓2(2推 0噓 2→)留言4則,0人參與, 最新作者sorryChen (陳揚和)時間18年前 (2008/02/14 07:21), 編輯資訊
0
0
0
內容預覽:
其實我ㄧ開始的發現是. 恕改. class Parent {. public:. int foo(int a) {. return(a);. }. };. class Child : public Parent {. public:. int foo(int a) //overriding. {.
(還有15個字)

推噓1(1推 0噓 1→)留言2則,0人參與, 最新作者LPH66 (IWH68S0XZ8M89)時間18年前 (2008/02/13 22:32), 編輯資訊
0
0
0
內容預覽:
我沒搞錯的話. 虛擬繼承會多出virtual table的空間. 所以B多出了virtual table的4 byte. 至於那個8是因為alignment的問題 請往前查. 如果A的x是static的話 A就沒有member variable了. 所以A變成一個"空"物件. 好像最近C_and_C
(還有161個字)

推噓3(3推 0噓 6→)留言9則,0人參與, 最新作者yzugsr (Bird)時間18年前 (2008/02/13 17:09), 編輯資訊
0
0
0
內容預覽:
class Parent {. public:. void foo(int a) {. cout<<"parent"<<a<<endl;. }. };. class Child : public Parent {. public:. using Parent::foo; //法一. void foo
(還有103個字)

推噓3(3推 0噓 21→)留言24則,0人參與, 最新作者legnaleurc (CA)時間18年前 (2008/02/13 16:52), 編輯資訊
0
0
1
內容預覽:
恕刪. 我認為它的sizeof的計算方式很有趣. 我把B改成虛擬繼承A,印出來就變成4 12. 然後如果A的x是static int. 印出來會變成1 1. 不知道是怎麼算的. --. 自High筆記(半荒廢). http://legnaleurc.blogspot.com/. --. 發信站:

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者adrianshum (Alien)時間18年前 (2008/02/13 16:46), 編輯資訊
0
0
0
內容預覽:
[43] ^^^^^^^^ override 吧?![43]我沒記錯的話, 只要 child class 有定義了與 parentclass 某 method 同名但 signature 不同的 method的. 話就已經會構成 method shadowing (就算有 virtual 亦然).
(還有109個字)
首頁
上一頁
1
2
下一頁
尾頁