C++中的对象读写重载

Object reading and writing overload in C++

我知道赋值运算符可以重载。写入对象时,调用对象的重载函数。

Obj = 10; // Obj's assignment overload function called.

有没有办法定义读取对象时调用的函数?

int a = Obj;

在这种情况下,将调用 Obj 的读取函数并将 return 值分配给 a

您正在查找有时称为 cast operator 的内容。

示例:

#include <iostream>

struct example
{
    int val;
    operator int() const { return val; }
};

int main ()
{
    example x{42};
    int y = x;
    std::cout << y;
}

将打印 42。