[問題] print value

看板C_and_CPP作者 (A-story)時間10年前 (2016/01/26 21:08), 10年前編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/1
想請問一下 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 可是不太懂原理,想請教一下~謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.77.46.9 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.13813719.A.D4F.html ※ 編輯: a33667004 (203.77.46.9), 01/26/2016 21:09:28

01/26 21:20, , 1F
01/26 21:20, 1F
※ 編輯: a33667004 (203.77.46.9), 01/26/2016 21:24:02

01/27 00:15, , 2F
這compiler會過嗎.....
01/27 00:15, 2F

01/27 01:18, , 3F
題外話: 建構式要public才能用, 別再 void main了, 建
01/27 01:18, 3F

01/27 01:18, , 4F
構式最好 不要 呼叫virtual member。 正題: 繼承的 clas
01/27 01:18, 4F

01/27 01:18, , 5F
s 建構式會先跑他的基礎類別,inA 才 inB。
01/27 01:18, 5F

01/27 02:26, , 6F
建構物件中不該呼叫 virtual, 不只是最好不要而已
01/27 02:26, 6F

01/27 02:27, , 7F
因為建構物件途中所有關於此物件的型別判定都是正建構中的
01/27 02:27, 7F

01/27 02:28, , 8F
物件本身, 不論正建構中的物件是在繼承關係的哪裡
01/27 02:28, 8F

01/27 02:29, , 9F
virtual 函式的問題只是這個判定的效應之一而已
01/27 02:29, 9F
文章代碼(AID): #1Mfs_NrF (C_and_CPP)