示例:使用指向对象数据成员的指针
#include <iostream> using namespace std; class Time { public: Time(int,int,int); void get_time( ); private: int hour,minute,sec; }; Time::Time(int h,int m,int s):hour(h),minute(m),sec(s) {} void Time::get_time( ) { cout<<hour<<":"<<minute<<":" <<sec<<endl; } int main( ) { Time t(10,13,56); int *p1; p1 = &t.hour; //这个地方有错 cout<<*p1<<endl; return 0; }
示例:使用指向对象成员函数的指针
#include <iostream> using namespace std; class Time { public: Time(int,int,int); void get_time( ); private: int hour,minute,sec; }; Time::Time(int h,int m,int s):hour(h),minute(m),sec(s) {} void Time::get_time( ) { cout<<hour<<":"<<minute<<":" <<sec<<endl; } int main( ) { Time t(10,13,56); void (Time::*p)( ); p=&Time::get_time; //而非p2=&t1.get_time; (t.*p)( ); return 0; }