指向成员函数的指针

原创 2016年05月31日 12:57:20
#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)();
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

C++之指向对象成员函数的指针

1. 普通函数的指针变量定义    数据类型名 (*指针变量名)(参数列表);    例如:void (*p)( ); //p指向void型函数的指针变量;          p = fun;    ...
  • CXHPLY
  • CXHPLY
  • 2015年09月16日 10:09
  • 1610

C++之指向数据成员的指针和指向成员函数的指针

这里指向数据成员的指针和指向成员函数的指针与指向变量的指针和指向函数的指针进行对比来解释,比较好理解一些。指向变量的指针和指向函数的指针先举个例子:void func(int a, int b){ ...
  • maoliran
  • maoliran
  • 2016年06月02日 20:23
  • 1683

如何使用指向类的成员函数的指针(详解!)

我们首先复习一下"指向函数的指针"如何使用?   void print()   {   }   void (*pfun)(); //声明一个指向函数的指针,函数的参数是 void,函数的返回值是 vo...
  • lishuhuakai
  • lishuhuakai
  • 2014年01月14日 22:13
  • 27144

指向 类成员函数 的 函数指针

原文:http://www.vckbase.com/document/viewdoc/?id=1818一、成员函数指针的用法  在C++中,成员函数的指针是个比较特殊的东西。对普通的函数指针来说,可以...
  • lqk1985
  • lqk1985
  • 2008年05月08日 19:18
  • 3524

指向函数的指针(一)

之所以想写一篇函数指针的文章,源于函数指针在C/C++编程中使用的广泛性,而对于一些初级编程者来说对函数指针的使用或许有些迷惑,而一旦在适当的时候使用了函数指针,会使代码简洁有力。本篇介绍的是函数指针...
  • hzyong_c
  • hzyong_c
  • 2012年04月16日 00:08
  • 14293

当指针并没有指向实际的对象时,能否调用对象的成员函数

先看程序吧:(这也是我遇见的笔试题) #include using namespace std; class Test1 { public: void func() { cout...
  • thefutureisour
  • thefutureisour
  • 2012年11月09日 09:47
  • 1941

指向成员函数的指针

指向成员函数的指针取一个非静态成员函数的地址,如果该函数是nonvirtual,则得到的结果是它在内存中真正的地址。然而这个值也不是完全的,它也需要被绑定于某个class object的地址上,才能够...
  • acdnjjjdjkdckjj
  • acdnjjjdjkdckjj
  • 2011年03月18日 17:10
  • 488

成员函数及this指针的意义

同样受访问修改符的限制,被public修饰的可以被外部访问,被private修饰的则不能被外部访问class Object { public: int x; i...
  • linjingtu
  • linjingtu
  • 2016年07月08日 00:17
  • 638

指向成员函数的指针

 在此,成员函数指的是非静态的成员函数。1、定义    class Shape     {      public:        //...        void moveTo( Point ne...
  • jackiej
  • jackiej
  • 2008年10月09日 13:08
  • 387

对象指针为NULL,为什么还是可以调用成员函数

C++中,空指针是不能够使用的,然而空对象指针有时候却能够调用成员函数。 先来看一下以下程序: #include #include using namespace std; class A { pub...
  • chenzrcd
  • chenzrcd
  • 2017年03月05日 19:53
  • 238
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:指向成员函数的指针
举报原因:
原因补充:

(最多只允许输入30个字)