gettogetto的博客

不积跬步无以至千里

指向成员函数的指针

#include<iostream>
using namespace std;
class Base{
	public:
		virtual void say(){
			cout<<"Base"<<endl;
		}
		void doit(){
			cout<<"Base"<<endl;
		} 
};
class Derive:public Base{
	public:
		void say(){
			cout<<"Derive"<<endl;
		}
		void doit(){
			cout<<"Derive"<<endl;
		}
};
int main(){
	typedef void(Base::*bfunc)();
	typedef void(Derive::*dfunc)();
	bfunc func1=&Base::say;
	dfunc func2=&Derive::say;
	Base base;
	Derive derive;
	
	(base.*func1)();
	(derive.*func1)();
	//(base.*func2)();//错误 
	(derive.*func2)();
	cout<<"------------------------------------"<<endl;
	bfunc func3=&Base::doit;
	dfunc func4=&Derive::doit;
	
	Base base2;
	Derive derive2;
	
	(base2.*func3)();
	(derive2.*func3)();
	//(base2.*func4)();//错误 
	(derive2.*func4)();
}



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gettogetto/article/details/51544783
文章标签: 函数 指针
个人分类: C++
上一篇定义自己的operator new和operator delete时注意点
下一篇c++中的set_new_handler和new_handler
想对作者说点什么? 我来说一句

类中使用指针和引用

2012年03月21日 217KB 下载

没有更多推荐了,返回首页

关闭
关闭