一、普通对象取地址重载
Date* operator&()
{
return this ;
}
二、const 对象取地址重载
const Date* operator&()const
{
return this ;
}
这里值得提一下,就是参数列表最右边的 const 修饰的是 this 指针所指向的内容,相当于 const-- Date* this. 由于 this 指针的类型是 const Date*,因此函数返回类型也要const Date*。
附:不过其实这两个操作符重载的意义不大,一般都是不写这两个操作符重载函数,然后让编译器调用自己生成的取地址重载函数。但如果你不想让别人获取对象的地址,那就只能自己写一个取地址重载函数然后返回 nullptr 了。