程序设计题(共 46分)
1. (14分)编写一个程序计算“三角形、正方形、圆形”三种图形的面积,要求:
(1) 定义抽象基类 Shape,要求在其中声明求面积的纯虚函数;
(2) Shape 基类分别定义三个派生类 “三角形 (Triangle) 、正方形 (Square) 、圆形
(Circle) ”;
(3) 编写面积函数,要求用基类指针求解对象面积;并在主函数中定义如下对象进行
测试;
Circle circle(12.6); //12.6 为半径
Square square(3.5); //3.5 为边长
Triangle triangle(4.5,8.4); //4.5 为底边长, 8.4为高
参考程序
#include <iostream>
using namespace std;
class Shape
{
public:
virtual double area()=0;
};
class Circle:public Shape
{
double radius;
public:
Circle(double r=0)
{
radius=r;
}
double area()
{
return radius*radius*3.1415926;
}
};
class Square:public Shape
{
double edge;
public:
Square(double e=0)
{
edge=e;
}
double area()
{
return edge*edge;