码迷,mamicode.com
首页 > 编程语言 > 详细

C++调用成员函数需要this指针的情况

时间:2014-08-09 00:19:56      阅读:309      评论:0      收藏:0      [点我收藏+]

标签: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;
}
bubuko.com,布布扣

C++调用成员函数需要this指针的情况,布布扣,bubuko.com

C++调用成员函数需要this指针的情况

标签:c++调用成员函数需要this指针的情况

原文地址:http://blog.csdn.net/cjc211322/article/details/38445485

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!