培训学校老师最缺什么:C++编程试题,关于类,大虾请进

来源:百度文库 编辑:神马品牌网 时间:2024/05/07 19:06:32
下面是一个形状类Shape,编写类Shape的派生类:圆类Circle,三角形类Triangle和矩形类Rectangle,并重定义基类的成员函数使之返回正确的结果(show函数要输出对象的基本信息),然后编写程序测试它们.

class Shape{
public:
//形状的面积
double area(){
return 0;
}
//形状的周长
double girth(){
return 0;
}
//输出对象的信息
void show(){
cout<<"Shape Object:"<<endl;
}
private:
};

急,两天内评出最佳,谢谢帮忙!

#include<iostream>
#include<math.h>
using namespace std;

class Shape{
public:
//形状的面积
double area(){
return 0;
}
//形状的周长
double girth(){
return 0;
}
//输出对象的信息
void show(){
cout<<"Shape Object:"<<endl;
}
private:
};

class Circle:public Shape
{
public:
double r;
double area();
double girth();
void show();
};

double Circle::area()
{
return 3.14*r*r; /*圆面积*/
}

double Circle::girth()
{
return 2*3.14*r;/*圆周长*/
}

void Circle::show()
{
cout<<"Circle area:"<<Circle::area()<<endl;
cout<<"Circle girth:"<<Circle::girth()<<endl;
}
/*Triangle*/

class Triangle:public Shape
{
public:
double a,b,c;
double area();
double girth();
void show();
};

double Triangle::area()
{
double s = (a + b + c)/2.0; /*利用公式计算三角形面积*/
return (sqrt(s * (s-a) * (s-b) * (s-c)));
}

double Triangle::girth()
{
return a+b+c; /*三角形周长*/
}

void Triangle::show()
{
cout<<"Triangle area:"<<Triangle::area()<<endl;
cout<<"Triangle girth:"<<Triangle::girth()<<endl;
}

/*Rectangle*/

class Rectangle:public Shape
{
public:
double a,b;
double area();
double girth();
void show();
};

double Rectangle::area()
{
return a*b; /*矩形面积*/
}

double Rectangle::girth()
{
return (a+b)*2; /*矩形周长*/
}

void Rectangle::show()
{
cout<<"Rectangle area:"<<Rectangle::area()<<endl;
cout<<"Rectangle girth:"<<Rectangle::girth()<<endl;
}

void main()
{
Circle c;
Triangle t;
Rectangle r;
c.r=10;
c.show();

t.a=3;
t.b=4;
t.c=5;
t.show();

r.a=3;
r.b=4;
r.show();
}

class Circle : public Shape
{
public :
double area(){
return 圆形面积
}
double girth(){
return 圆形周长
}
void show(){
cout<<圆形的半径<<endl;
}
private:
double 圆形半径
}

其它的也是和这个类似