当前位置:   article > 正文

C++:取地址及const取地址操作符重载_const取址运算符重载的用法

const取址运算符重载的用法

简介

取地址成员函数也是’‘类的六大默认成员函数’'之一。其分为两种,普通取地址操作符、const取地址操作符。

取地址是什么意思呢?就是返回当前对象的地址,对于成员函数来讲,this指针就是它的地址,需要返回指针。

是否传参?

将’’&’'重载为成员函数时,是否需要传参?

Date* operator&() {
 
}
  • 1
  • 2
  • 3

‘’&’’ 运算符是一个单目运算符,其只有一个参数,而这个参数就是一个对象,所以说这个对象是不用传的,定义为成员函数时函数参数就应该少一个,第一个函数参数就被this指针所代替。所以,在此不需要进行传参。

函数重载实现

class Date
{
public :
    Date* operator&()
    {
        return this ;
    }
    const Date* operator&()const
    {
        return this ;
    }
private :
	int _year ; // 年
	int _month ; // 月 
	int _day ; // 日
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需要重载,比如想让别人获取到指定的内容!

如果不写这两个函数的时候,若无其它操作完全够用了,因为这两个函数只返回this指针,也没有其他的操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/838224
推荐阅读
相关标签
  

闽ICP备14008679号