#include <iostream>
using namespace std;
class Example {
public:
int value;
Example(int v) : value(v) {}
// 重载 & 操作符
void* operator&() {
cout << "Overloaded address-of operator" << endl;
return this;
}
};
int main() {
Example obj(10);
// 正常取地址
Example* ptr = &obj;
cout << "Address of obj: " << ptr << endl;
// 调用重载的 & 操作符
void* overloadedPtr = &obj;
cout << "Overloaded Address of obj: " << overloadedPtr << endl;
return 0;
}
在这个示例代码中,我们定义了一个类 Example
并重载了 &
操作符。通常情况下,&
操作符用于获取变量的地址,但在类中可以对其进行重载以实现自定义行为。
operator&()
:这是对 &
操作符的重载。当使用 &
获取对象的地址时,会调用这个函数而不是直接返回对象的地址。
main()
函数:在主函数中,我们创建了一个 Example
类的对象 obj
,并分别展示了正常取地址和调用重载后的 &
操作符的结果。
通过这个例子,你可以看到如何在 C++ 中重载 &
操作符,并理解其行为的变化。
上一篇:在线编译器c++语言
下一篇:c++保留小数点后几位怎么弄
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站