本文主要是介绍lesson2(补充)取地址及const取地址操作符重载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
个人主页:Lei宝啊
愿所有美好如期而遇
以下两个默认成员函数一般不用重新定义 ,编译器默认会生成。
#include <iostream>
using namespace std;class Date
{public:Date():_year(2023),_month(10),_day(28){}Date* operator&(){return this;}const Date* operator&() const{return this;}private:int _year;int _month;int _day;
};int main()
{Date a;cout << &a << endl;const Date b;cout << &b << endl;return 0;
}
这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需
要重载,比如 想让别人获取到指定的内容!
#include <iostream>
using namespace std;class Date
{public:Date():_year(2023),_month(10),_day(28){}Date* operator&(){return nullptr;}const Date* operator&() const{return this;}private:int _year;int _month;int _day;
};int main()
{Date a;cout << &a << endl;const Date b;cout << &b << endl;return 0;
}

甚至我们可以返回一个错误的地址(滑稽)
这篇关于lesson2(补充)取地址及const取地址操作符重载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!