【发布时间】:2016-07-22 04:47:27
【问题描述】:
我现在正在研究 C++ 中的运算符,但我有一个问题。好吧,我正在尝试重载 int/float 运算符,我在类中有 2 个变量
class Zespolona{
public:
float re;
float im;
}
我已经完成了所有运算符,但是当我完成时
operator int const(){
this->re = (int)this->re;
this->im = (int)this->im;
return *this;
}
然后它进入一个无限循环。
我的主要
int main(){
Zespolona z1;
z1.re = 1.2;
z1.im = 34.9;
z1 = (int)z1;
cout << z1 << endl;
}
我能做些什么来获取其中两个变量的整数?
【问题讨论】:
-
你认为
return *this在做什么? -
我认为我正在返回对对象的引用。
-
好的,但它是什么类型的?您将函数声明为返回的类型是什么?
-
@codesyntax
z1 = (int)z1;你想做什么?z1是class Zespolona的对象,z1 = (int)z1;怎么写? -
我真的不知道我是否理解你,但我认为这种类型是一个对象,我正在返回它
标签: c++ int operators overloading