右邊的類對象決定查看的虛函數表..左邊的類型調用非函數表
class A
{
public:
virtual void F1()
{
cout<<"A1"<<endl;
}
void F2()
{
cout<<"A2"<<endl;
}
};
class B :public A
{
public:
void F1()
{
cout<<"B1"<<endl;
}
void F2()
{
cout<<"B2"<<endl;
}
};
void main(){
A *pa;
B *pb;
B TB;
A TA;
pa = &TB;//基類指針指向派生類對象
pa->F1();
pa->F2();
pb =(B *) &TA;//派生類指針指向基類對象 查對象的虛函數表, 指針的類型決定函數
pb->F1();
pb->F2();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
C++中動多態實現之虛函數與虛表指針
MachineChen
2020-07-05 14:54:05
哪些函數可以成爲虛函數,哪些函數不可以成爲虛函數
u010765526
2020-07-04 00:22:49
函數和虛函數對struct結構體大小的影響
微澜-
2020-07-01 18:57:19
[008]C/C++系列 | 繼承&虛函數
GC怪兽
2020-06-30 13:05:37
C++ IO流 異常處理
蚕豆过敏
2020-06-30 08:48:17
【入門篇】虛函數、純虛函數、抽象類
极地大王章
2020-06-24 09:52:58
C++中的繼承與多態
木2木
2020-06-21 11:06:17
探索c++的對象模型(一):單繼承和多繼承的對象模型
虛函數表就是通過一塊連續內存來保存虛函數的地址單繼承虛函數的對象模型class A{public: virtual void func1() { printf("A::func1\n"); }
呼的一声飞的好远好远
2020-06-21 08:52:12
C++編程筆記-特性
彼岸之音
2020-06-20 15:30:58
C++ 虛函數實現機制
kyleada_dl
2020-06-19 06:13:12