发布于2025-01-30 阅读(0)
扫一扫,手机访问
#include
using namespace std;
class Shape
{
public:
virtual double circumference()=0;
virtual double area()=0;
};
class Circle: virtual public Shape
{
private:
double x,y,r; // 圆心(x,y), 半径r
public:
Circle(double r, double x=0, double y=0);
double circumference();
double area();
};
Circle::Circle(double r, double x, double y)
{
this->x = x;
this->y = y;
this->r = r;
}
double Circle::circumference()
{
return 2 * 3.14 * r;
}
double Circle::area()
{
return 3.14 * r * r;
}
int main()
{
double r;
coutcin>>r;
Shape* c = new Circle(r); //构建半径是r,圆心默认是(0,0)的圆
coutcircumference()
area()
}
1.错在返回样将进行无限递归,而不是返回y.
2. PI为常量,而且是全局用,请定义在所有函数外,包括主函数.
3.第二句没有意义,修改入下,测试通过!
#include
const double PI=3.14;
void main()
{
double r;
double fun1(double r);
double fun2(double r);
cin>>r;
cout<<;"周长为:"< cout<<;"面积为:"< } double fun1(double r) { double y; y=2*PI*r; return y; } double fun2(double r) { double y; y=PI*r*r; return y; } #include #include const double PI = 3.1415926; double calc_area(double); int main(int argc, char* argv[]){ double r=5.0;//半径 cout << calc_area(r) << endl; return 0;} inline double calc_area(double r){ double S = 0.0; try{ S = PI*pow(r, 2); } catch (int i) { cout << "Caught an exception -- value is:" << i << "\n"; } return S;} #include class Circle { private: int radius;//私有成员,只能通过成员函数SetRadius来访问,像c1.radius是错误的 public: Circle();//函数名跟类名一样的函数,是构造函数,它是没有返回值的 void SetRadius(float r);//成员函数,设置圆的半径的值 float GetArea();//成员函数,返回值为圆的面积 }; //上面的只是定义,就像函数的声明一样,下面才是类的函数的实现 Circle::Circle()//构造函数,初始化半径为1 { radius=1; } void Circle::SetRadius(float r)//设置半径 { radius=r; } float Circle::GetArea()//返回值为圆的面积 { return 3.14159*radius*radius;//面积=PI*r*r } void main() { Circle c1,c2;//定义Circle类的两个对象c1 c2 c1.SetRadius(10);//设置c1的半径为10 cout< cout< }C圆面积的程序
C使用类计算圆面积
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店