首页 > 代码库 > C++调用成员函数需要this指针的情况
C++调用成员函数需要this指针的情况
1、虚成员函数,因为需要this指针寻找虚表指针
2、成员函数中对数据成员进行了操作
#include "stdafx.h" #include <iostream> #include <typeinfo> using namespace std; class A { public: virtual void foo() { cout<<"A foo"<<endl; } void pp() { cout<<"A PP"<<endl; } }; class B:public A { public: B() { num=100; } void foo() { cout<<"B foo"<<endl; } void pp() { cout<<"B PP"<<endl; } void FunctionB() { cout<<"Excute FunctionB!"<<endl; } void show() { cout<<num; } private: int num; }; int main(int argc,char* argv[]) { A a; A* pa=&a; B *pb0,*pb; pb0->FunctionB(); pb=dynamic_cast<B*>(pa); if(pb==NULL) { cout<<"The pointer pb is null"<<endl; } (dynamic_cast<B*>(pa))->FunctionB(); (dynamic_cast<B*>(pa))->foo(); //执行出错,因为需要this指针 (dynamic_cast<B*>(pa))->show(); //执行出错,因为需要this指针 system("pause"); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。