84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
如果派生类的对象调用继承到的成员函数,编译器是在基类中还是在派生类中找被调用的函数。
所以继承是相当于复制了一遍代码到派生类中,还是名义上的继承,代码还是存储在基类当中?
初学C++,求解答。。谢谢。
业精于勤,荒于嬉;行成于思,毁于随。
程式碼就一份,編譯成了機器碼放在程式碼段裡,但是函數的位址是存放在虛表裡面的,呼叫的時候從虛表取出來函數的位址,然後call過去。
從程式設計師角度來看,派生類別拷貝了一份函數過去,從編譯器角度,它們(非virtual 非static,非override)只存在一份,編譯後放在程式的唯讀區裡。
程式碼就一份,編譯成了機器碼放在程式碼段裡,但是函數的位址是存放在虛表裡面的,呼叫的時候從虛表取出來函數的位址,然後call過去。
從程式設計師角度來看,派生類別拷貝了一份函數過去,從編譯器角度,它們(非virtual 非static,非override)只存在一份,編譯後放在程式的唯讀區裡。