类名 *对象指针名是
指向对象的指针
指向成员的指针:
数据类型名*指针变量名,指针变量名=&类名::成员函数名
见实例吧。
对象:
class Time
{public:
int hour;
int minute;
int sec;
void get_time();}
void Time::get_time()
{cout<<hour<<":"<<minute<<":"<<sec<<endl;}
Time *pt //类名 *对象指针名
Time t1//类名 对象,定义对象
pt=&t1//将t1的起始地址赋给pt
定义之后,就可以通过指针来访问对象和对象成员。
*pt//指t1
(*pt).hour=pt->hour//指t1.hour
不仅是成员,函数也可以如此调用。
指向对象的指针变量:
分为数据成员和成员函数。
#includ <iostream>
using namespace
Class Time
{public:
Time(int,int,int);//构造函数
int hour;
int sec;
int minute;
void get_time();};
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 t1(10,13,56);//有参构造函数
int *p1=&t1.hour;//定义p1,让p1指向成员
cout<<*p1<<endl;//输出成员
t1.get_time()//调用t1的公用成员函数
Time*p2=&t1;//定义的同时指向,让p2指向对象
p2->get_time();//又调用一次
void(Time::*p3)();//定义指向Time的公用成员函数的指针变量(不明白)
p3=&Time::get_time;//使p3指向Time类公用函数get_time,与上一步连着,先定义再确认指向。
(t1.*p3)();//拆开,又调用了某个成员函数。
return 0;}
【感谢龙石为本站提供api网关 http://www.longshidata.com/pages/apigateway.html】