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)

posted @ 2010-05-13 18:08  ActionBi  阅读(451)  评论(0编辑  收藏  举报