简介
取地址成员函数也是’‘类的六大默认成员函数’'之一。其分为两种,普通取地址操作符、const取地址操作符。
取地址是什么意思呢?就是返回当前对象的地址,对于成员函数来讲,this指针就是它的地址,需要返回指针。
是否传参?
将’’&’'重载为成员函数时,是否需要传参?
Date* operator&() {
}
‘’&’’ 运算符是一个单目运算符,其只有一个参数,而这个参数就是一个对象,所以说这个对象是不用传的,定义为成员函数时函数参数就应该少一个,第一个函数参数就被this指针所代替。所以,在此不需要进行传参。
函数重载实现
class Date
{
public :
Date* operator&()
{
return this ;
}
const Date* operator&()const
{
return this ;
}
private :
int _year ; // 年
int _month ; // 月
int _day ; // 日
};
这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需要重载,比如想让别人获取到指定的内容!
如果不写这两个函数的时候,若无其它操作完全够用了,因为这两个函数只返回this指针,也没有其他的操作。