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。
我知道赋值运算符可以重载。写入对象时,调用对象的重载函数。
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。