【发布时间】:2016-11-22 13:18:45
【问题描述】:
我正在尝试编写一个基本的运算符重载代码。但是,我遇到了一些我无法解释的错误。
头文件:
class Overloading
{
public:
int number;
Overloading();
Overloading(int);
Overloading operator+(Overloading);
void vUselessoverloadFunction();
};
C++ 代码:
Overloading::Overloading()
{}
Overloading::Overloading(int i)
{
number = i;
}
Overloading Overloading::operator+(Overloading Object2)
{
Overloading NewObject;
NewObject.number = number + Object2.number;
return (NewObject);
}
void Overloading::vUselessoverloadFunction() {
Overloading ObjectOne(15);
Overloading ObjectTwo(24);
Overloading ObjectThree();
ObjectThree = ObjectOne+ObjectTwo;
cout << ObjectOne.number << endl;
cout << ObjectTwo.number << endl;
cout << "Overloaded object value: " << ObjectThree.number << endl;
}
我收到以下错误:
在线ObjectThree = ObjectOne+ObjectTwo;:
-函数'重载ObjectThree()'的赋值
-不能在赋值中将“Overloading”转换为“Overloading()”
和在线cout << "Overloaded object value: " << ObjectThree.number << endl;
- 请求'ObjectThree' 中的成员'number',它是非类类型'Overloading()'。
任何帮助将不胜感激!
【问题讨论】:
-
最麻烦的解析
标签: c++ overloading operator-keyword