输入数 比如2.0 出来结果应该时小数的 但出来时整数 不会改了
#include <iostream>
using namespace std;
class Circle
{
public:
Circle(double r = 0);
Circle(Circle &c);
~Circle();
void setRadius(double r);
double getRadius();
double circumference();
double area();
friend double friendc(Circle &r);
friend double frienda(Circle &r);
private:
double radius;
const int PI = 3.1415;
};
Circle::Circle(double r)
{
cout << "this is aconstructor " << endl;
}
Circle::~Circle()
{
cout << "this is adestructor " << endl;
}
Circle::Circle(Circle &c)
{
radius = c.radius;
cout << "this is acopy constructor " << endl;
}
void Circle::setRadius(double r)
{
radius = r;
}
double Circle::getRadius()
{
return radius;
}
double Circle::circumference()
{
return 2 * PI * radius;
}
double Circle::area()
{
return PI * radius * radius;
}
double friendc(Circle &r)
{
return 2 * r.PI * r.radius;
}
double frienda(Circle &r)
{
return r.PI * r.radius * r.radius;
}
int main(void)
{
double r;
cin >> r;
Circle c1;
c1.setRadius(r);
cout << c1.circumference() << endl;
cout << c1.area() << endl;
Circle c2(c1);
cout << friendc(c2) << endl;
cout << frienda(c2) << endl;
return 0;
}