#include <iostream>
using namespace std;
class Time
{
public:
int hour;
int minute;
int sec;
void get_time();
};
void Time::get_time()
{
cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
//对象指针的创建
Time *pt;//先定义pt指针
Time t1;
pt = &t1;//将对象的地址赋给这个指针
int main()
{
(*pt).hour;
return 0;
}
创建对象指针应先定义指向类的指针;再创建类的对象,将对象的地址赋给这个指针
指针创建完成后便可以利用指针的指向来访问成员
pt->hour;
(*pt).hour;
pt->get_time();
(*pt).get_time();
2、指向对象成员的指针
定义指向整形数据的指针,然后将对象t1的数据成员的地址赋给pt,让pt指向t1.hour
int *pt;
pt = &t1.hour;
cou<<*pt<<endl;
3、指向对象成员函数的指针
先理解如何创建一个普通的函数的指针变量
void (*p)()//定义void类型函数的指针变量
P = fun;//将fun函数的地址赋值给p
//直接可以通过该指针变量来调用fun函数
(*p)();
创建指向对象函数的指针变量
数据类型名(类名::*指针变量名){参数列表};
void (Time::*p2)();
调用的时候
p2 = &Time::get_time();
(t1.*p2)();