#includeusing namespace std;class A{public: A(){ //do nothing here. } A(int num,double num2){ this->num=num; this->num2=num2; } int num; double num2;};int _tmain(int argc, _TCHAR* argv[]){ A* pA=new A(5,6); int A::* p=&A::num; //p是一个指针,指向A的一个int成员 double A::*p1=&A::num2; cout< <
*p< *p1<
指向成员函数的指针并非指针:
#includeusing namespace std;class A{public: void function( int num); bool function1()const; virtual bool function2() const=0;};class B:public A{public : bool function2()const;};int _tmain(int argc, _TCHAR* argv[]){ void (A::* p)(int)= &A::function; //不是地址,而是一个指向成员函数的指针 bool (A::* p1)()const =&A::function1; // 指向成员函数的指针可以指向一个常量成员函数// B b;// A *a=&b;// (a->*p1)();// (b.*p1)(); return 0;}
==============================================================================
本文转自被遗忘的博客园博客,原文链接:http://www.cnblogs.com/rollenholt/archive/2012/03/25/2416495.html,如需转载请自行联系原作者