gpt4 book ai didi

c++ - 错误 C2512 : no appropriate default constructor available

转载 作者:IT老高 更新时间:2023-10-28 22:35:48 25 4
gpt4 key购买 nike

我收到这个烦人的错误,我不知道为什么 =( !这是问题,我解决了,但构造函数有问题。

Write a program that defines a class called Circle that includes radius (type double) as data members. Provide a set and a get function for this data member. Ensure that the value entered by the user is valid and correct (greater than zero).
Include function members: a.function member that compute and return Diameter of the circle b.function member that compute and return Circumference of the circle c.function member that compute and return Area of the circle d.function member that Display all information of the circle e.constructor that initializes the data member. If the radius is not valid (i.e. less than zero) set it to zero.

我面临的错误:

error C2512: 'Circle' : no appropriate default constructor available

这是我的代码:

    #include <iostream>

using namespace std;

class Circle
{
public:

Circle(double);
void setRadius(double);
double getRadius();
void Display();
double Diameter(double);
double Circumference(double);
double Area(double);

private:

double radius;

};

Circle::Circle(double radio)
{
setRadius(radio);
}

void Circle::setRadius(double ra)
{
if (ra < 0)
{
radius = 0;
}
else
radius = ra;
}

double Circle::getRadius()
{

double rado;

cout << "Enter the Radius:\n";
cin >> rado;
setRadius(rado);

return radius;
}

double Circle::Diameter(double rad)
{
return 2*rad;
}

double Circle::Area(double radi)
{
return 3.14 * radi * radi;
}


double Circle::Circumference(double radiu)
{
return 2 * 3.14 * radiu;
}

void Circle::Display()
{
cout << "The Radius of the circle is: \n";
cout << radius;
cout << "\nThe Diameter of the circle is: \n";
cout << Diameter(radius);
cout << "\nThe Circumference of the circle is: \n";
cout << Circumference(radius);
cout << "\nThe Area of the circle is: \n";
cout << Area(radius);
cout << endl;
}

int main()
{
Circle C;
C.getRadius();
C.Display();

return 0;
}

最佳答案

这一行调用了一个不带参数的构造函数(称为默认构造函数):

Circle C;

您定义的唯一构造函数是:

Circle(double);

希望这可以为您指明正确的方向。

关于c++ - 错误 C2512 : no appropriate default constructor available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8689319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com