如果我有一个对象Obj(它具有int变量,如Obj.var),我是c ++的新手,我如何使用'='运算符将该值分配给另一个int?
注意:当Obj是泛型时,我已经实现了别人编写的,我想使用而不修改的代码,但是它仅用于int
下面的例子:
class Obj
{
public:
int var ;
};
int variable;
variable = Obj;
我希望这会发生:
variable = Obj.var
如果我对您的理解正确,则可以在类定义中包含转换运算符。
例如
#include <iostream>
class Obj
{
public:
operator int() const { return var; }
int var ;
};
int main()
{
Obj obj = { 10 };
int variable = obj;
std::cout << "variable = " << variable << '\n';
}
程序输出为
variable = 10
或者也可以像这样定义运算符
operator const int &() const { return var; }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句