|
本题添加时间:2023/4/3 12:59:00 |
|
圆梦客服:王老师 19139051760(微信同号) 19139051760(微信同号) |
下列Shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。 class Shape { public:virtual double area()=0; }; double total(Shape *s[ ], int n) { double sum=0.0;
for(int i=0; i sum+=s[i]->area( );
return sum; }
要求:
(1)从Shape类派生圆类(Circle)、正方形类(Square),圆类新增数据成员半径(radius),正方形类新增数据成员边长(a),圆类和正方形类都有构造函数,修改、显示数据成员值的函数,求面积函数。
(2)写出main()函数,计算半径为5.5的圆和边长为9.9的正方形的面积和(必须通过调用total函数计算)
(本题3.0分)
|
答案是:标准答案: 解:class Circle:public Shape
{public:
Circle(double r){radius=r;}
void set() {
cout<<"Please input the value of the circle:"< cin>>radius;
}
void show() {
cout<<"the radius of the circle="< }
double area() {return 3.14159*radius*radius;}
private:
double radius; };
class Square:public Shape {
public:
Square(double a){this->a=a;}
void set() { cout<<"Please input the value of a:"<>a; }
void show() { cout<<"a="< double area(){return a*a;} private: double a;
};
int main() {
Circle C(5.5);
C.show();
Square S(9.9);
S.show();
Shape *s[]={&C,&S};
cout<<"total="< return 0;
}
出自
河南工业大学面向对象程序设计(专升本) 青书学堂系统
河南工业大学
|
更多试题>>>>
1、下面关于进程、线程的说法正确的是( )(本题1.0分)
A、 进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。
B、 线程是比进程更小的执行单位,是在一个进程中独立的控制流,即
2、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )(本题1.0分)
A、 内部类可以直接访问外部类的成员
B、 外部类可以直接访问内部类的成员
C、 外部类不能访问内部类的成员
D、 外部类可通过创
3、下面说法正确的是( )(本题1.0分)
A、 final 可修饰类、属性(变量)、方法。
B、 abstract可修饰类、方法。
C、 抽象方法只有方法头,没有方法体。
D、 关键字final和abstract不能同
4、下面关于java中输入/输出流的说法正确的是( )(本题1.0分)
A、 FileInputStream与FileOutputStream类用读、写字节流。
B、 Reader与Writer类用来读、写字符流。
C、 Ra
5、定义如下的二维数组b,下面的说法正确的是( )。
int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}};(本题1.0分)
A、 b.length的值是3。
B、 b[1].length的值是3。
|
|