#include<iostream>
#include<cmath>
using namespace std;
const double Pi=3.14;
class Circle
{
public:
Circle(double r){
radius=r;
}
double Radius()
{
return radius;
}
~Circle(){}
private:
double radius;
};
class Column : public Circle
{
public:
Column(double r, double h):Circle(r)
{high = h;}
double volume()
{
return high*Pi*pow(Radius(), 2);
}
double surface_area()
{
return 2*Pi*pow(Radius(), 2)+2*Pi*Radius()*high;
}
~Column(){}
private:
double high;
};
int main()
{
double r1,r2,h;
cin >> r1 ;
cin >> r2;
cin >> h;
Column C(r2, h);
cout<< C.volume() << endl;
return 0;
}
请问怎么用圆类的成员函数输出圆的面积,谢谢!
改成下面这样就可以了
#include<iostream>
#include<cmath>
using namespace std;
const double Pi = 3.14;
class Circle
{
public:
Circle(double r) {
radius = r;
}
double Radius()
{
return Pi*pow(radius,2); //返回圆面积
}
~Circle() {}
private:
double radius;
};
class Column : public Circle
{
public:
Column(double r, double h) :Circle(r)
{
high = h;
}
double volume()
{
return high * Pi * pow(Radius(), 2);
}
double surface_area()
{
return 2 * Pi * pow(Radius(), 2) + 2 * Pi * Radius() * high;
}
~Column() {}
private:
double high;
};
int main()
{
double r1, r2, h;
cin >> r1; //输入圆半径
//cin >> r2;
//cin >> h;
//Column C(r2, h);
Circle C1(r1);
//cout << C.volume() << endl;
cout << C1.Radius() << endl;
return 0;
}
你的要求好奇怪, 你的圆里面没有求面积的函数,只有返回半径的函数, 那就直接返回半径,然后用PI 乘以 R的平方。而且你为啥要输入两个半径?
#include<iostream>
#include<cmath>
using namespace std;
const double Pi=3.14;
class Circle
{
public:
Circle(double r){
radius=r;
}
double Radius()
{
return radius;
}
~Circle(){}
private:
double radius;
};
class Column : public Circle
{
public:
Column(double r, double h):Circle(r)
{high = h;}
double volume()
{
return high*Pi*pow(Radius(), 2);
}
double surface_area()
{
return 2*Pi*pow(Radius(), 2)+2*Pi*Radius()*high;
}
~Column(){}
private:
double high;
};
int main()
{
double r1,r2,h;
cin >> r1 ;
cin >> r2;
cin >> h;
Column C(r2, h);
cout<< C.Radius() * C.Radius() * Pi << endl;
return 0;
}
```c++
```