商城首页欢迎来到中国正版软件门户

您的位置:首页 > 软件教程 >用继承创建计算圆周长和面积的程序

用继承创建计算圆周长和面积的程序

  发布于2025-01-30 阅读(0)

扫一扫,手机访问

c利用派生类编写圆面积周长的程序

c利用派生类编写圆面积周长的程序

#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()

}

C计算圆面积

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;

}

C圆面积的程序

#include

#include // 数学有关函数头文件using namespace std;

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;}

C使用类计算圆面积

#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<

}

本文转载于:https://www.docexcel.net/show/30_1972.html 如有侵犯,请联系admin@zhengruan.com删除

热门关注