C++面向对象复习(四)——指针在面向对象中的应用
其实构造函数的重载无非就是实现定义几个函数,然后指定不同的参数,简单并没有体现在定义上,而是体现在使用上,只用调用一个函数名字,便可以实现不同的操作。
面向对象中的指针:
指向对象的指针;
Time *pt
Time t1;
Pt=&t1;
这里便是面向对象的指针中指向对象的指针的定义方法。
指向对象成员的指针
指向对象成员的指针 数据类型名 *指针变量名
例如:p1=&ti.hour cout<<*p1<<endl;
(2)指向成员函数的指针 数据类型名 *(指针变量名)(参数变量)
例如:void (*p)();//p是指向void类型的指针变量
可以使他指向一个函数并通过指针变量调用函数:
P=fun;//把函数的入口地址付给指针变量p,p就指向了函数fun
(*p)();//调用fun函数
(成员函数与普通函数的最大区别在于:它是类中的一个成员
编译系统在编译指针与函数的赋值时候,要求做到3方面的匹配:
函数参数类型和参数个数&&函数返回值&&所属的类
)
(3)定义指向公用成员函数的的指针变量一般格式为
数据类型名 (类名::*P)(参数列表)
Void(Time::*p3)();//定义指向Time类共用成员函数的指针变量
P3=&Time::get_time;//让指针p3指向Time类公用成员函数get_time
(上面两句可以合成一行:void(Time::*p3)()=&Time::get_time)