其实构造函数的重载无非就是实现定义几个函数,然后指定不同的参数,简单并没有体现在定义上,而是体现在使用上,只用调用一个函数名字,便可以实现不同的操作。
面向对象中的指针:
指向对象的指针;
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)
原文链接: https://www.cnblogs.com/rixinren/archive/2010/05/13/1734778.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/10819
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!