目录
前言
取地址函数
const 取地址操作符重载函数
前言
在前几章学习了类的 6 个默认成员函数中的 4 个函数,也是最重要的 4 个
C++ ——— 类的 6 个默认成员函数之 构造函数-CSDN博客
C++ ——— 类的 6 个默认成员函数之 析构函数_结构体构析函数-CSDN博客
C++ ——— 类的 6 个默认成员函数之 拷贝构造函数_拷贝构造函数的参数个数是( ) 0个 只能1个 最多2个 多个-CSDN博客
C++ ——— 类的 6 个默认成员函数之 赋值运算符重载函数-CSDN博客
接下来学习的是类的最后两个默认成员函数
取地址函数
Data* operator&()
{return this;
}
取地址函数的使用:
Data d1(2024, 12, 13);cout << &d1 << endl;
cout << d1.operator&() << endl;
访问对象的地址时就会使用到,并且第二段代码和第三段代码是等价的
代码验证:
const 取地址操作符重载函数
const Data* operator&() const
{return this;
}
和 取地址函数 构成重载,这个函数主要是会被 const 修饰的对象调用
const 取地址操作符重载函数使用:
编译器自动生成的取地址函数
如果我们不显示写出以上两个函数的话,编译器会自动生成以上两个函数
验证:
可以发现,没有显示的写以上两个函数,但是编译器还是能自动识别自动调用 const 成员函数 和 非const成员函数
所以绝大部分情况下都不用自己显示的写,有编译器自动生成的就够了