我目前正尝试在C++中创建一个circle类,但是当我编译时,我得到了一个错误,说“调用重载的'Circle‘是不明确的。我是C++的新手,不确定这是什么意思。我一直在使用一个类似的例子,在这里找到Class tutorial
#include <iostream>
using namespace std;
const double pi = 3.14159265;
class Circle
{
private:
double radius, xpos, ypos, area;
public:
Circle(double r, double xposition, double yposition) {
r = radius;
xposition = xpos;
yposition = ypos;
}
Circle(double r = 0) {
radius = r;
xpos = 0;
ypos = 0;
}
Circle() {
radius = 0;
xpos = 0;
ypos = 0;
}
double getRadius() {return radius;}
double getX() {return xpos;}
double getY() {return ypos;}
double getArea() {return pi*radius*radius;}
Circle operator+(const Circle& c) {
Circle circle;
circle.area = this -> getArea() + c.getArea();
return circle;
}
};
int main()
{
Circle circ(3,2,1);
double x = circ.getX();
cout << x << endl;
return 0;
}
发布于 2014-10-29 23:04:14
您有两个不同的构造函数,可以在不带参数的情况下调用它们,因为其中一个构造函数的参数具有默认值。你可以删除默认的构造函数,因为它是多余的。
https://stackoverflow.com/questions/26633751
复制相似问题