亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

通過虛函數列表指針找到函數實際地址,好像也能證明虛函數列表指針存在

#include<iostream>

using namespace std;


class Shape{

public:

virtual void Areo(){

cout<<"Shape::Areo()"<<endl;

}

};


class Circle:public Shape{

//解開注釋,證明覆蓋存在

// virtual void Areo()

// {

// cout<<"Circle::Areo"<<endl;

// }

};


int main()

{

Shape s;

cout<<sizeof(s)<<endl;

cout<<&s<<endl;

unsigned int **p=(unsigned int**)&s;

cout<<**p<<endl;

void (*sss)()=(void (*)())(**p);

sss();

cout<<"_______________________"<<endl;

Circle c;

cout<<sizeof(c)<<endl;

cout<<&c<<endl;

unsigned int **q=(unsigned int**)&c;

cout<<**q<<endl;

void (*ccc)()=(void (*)())(**q);

ccc();

return 0;

}


運行結果:

4

0x28fe8c

4317648

Shape::Areo()

_______________________

4

0x28fe88

4317648

Shape::Areo()


--------------------------------


正在回答

1 回答

虛函數列表指針指向的是虛函數表

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之多態篇
  • 參與學習       66223    人
  • 解答問題       334    個

本教程將帶領大家體會面向對象三大特性中的多態特性

進入課程

通過虛函數列表指針找到函數實際地址,好像也能證明虛函數列表指針存在

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號