const double PI = 3.14159;
class Circle
{
public:
Circle(double r);
double Circumference();
double Area();
friend double fCircle_L(Circle &rr);
friend double fCircle_S(Circle &rr);
private:
double radius;
};
Circle::Circle(double r)
{
radius = r;
}
double Circle::Circumference()
{
cout << c1<< endl;
return 2 * PI * radius;
}
double Circle::Area()
{
cout << c2<< endl;
return PI * radius *radius;
}
double fCircle_L(Circle &r)
{
cout << c1<< endl;
double L = 2 * PI * r.radius;
return L;
}
double fCircle_S(Circle &r)
{
cout << c2 << endl;
double S = PI * r.radius * r.radius;
return S;
}
uj5u.com熱心網友回復:
1.靜態常量應該用static修飾吧;2.有參構造默認為0,那就應該有預設引數(double r = 0);
3.求周長的那個函式里面c1是什么?可以不用的,只留return那句話就可以了;(求面積那個函式里同理)
4.求周長的友元函式里直接return 2 * PI * radius就可以了,友元函式可以直接訪問私有成員;(另一個函式同理)
uj5u.com熱心網友回復:
供參考:#include<iostream>
using namespace std;
class Circle
{
public:
Circle(double r);
Circle(const Circle &c);//拷貝建構式
~Circle();
void setRadius(double r);
double getRadius();
double Circumference();
double area();
friend double fCircle_L(Circle &r);
friend double fCircle_S(Circle &r);
private:
static const double PI;//=3.1415;
double radius;//半徑
};
const double Circle::PI = 3.1415;
Circle::Circle(double r=0)
{
radius = r;
cout<<"Constructor run"<<endl;
}
Circle::Circle(const Circle &c)
{
radius = c.radius;
cout<<"CopyConstructor run"<<endl;
}
Circle::~Circle()
{
cout<<"Destructor run"<<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 fCircle_L(Circle &r)
{
return 2 * r.PI * r.radius;
//return r.Circumference();
}
double fCircle_S(Circle &r)
{
return r.PI * r.radius * r.radius;
//return r.area();
}
int main(void)
{
double r;
cin >> r;
Circle c1;
c1.setRadius(r);
cout<<c1.Circumference()<<endl;
cout<<c1.area()<<endl;
Circle c2(c1);
cout << fCircle_L(c2) << endl;
cout << fCircle_S(c2) << endl;
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/269350.html
標籤:C++ 語言
