十三周任务三
2012-05-16 19:34
176 查看
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作者:刘杨 * 完成日期: 2012 年 5 月 13 日 * 版本号: x1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述:定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。 * 程序输出: * 程序头部的注释结束 */ #include<iostream> #include<string> using namespace std; class Shape { public: virtual double area() = 0; }; class Circle:public Shape { public: Circle(double r){radius = r;} virtual double area(); private: double radius; }; class Rectangle:public Shape { public: Rectangle(double h,double w){height = h;width = w;} virtual double area(); private: double height; double width; }; class Triangle:public Shape { public: Triangle(double d,double h){di = d; height = h;} virtual double area(); private: double di; double height; }; double Circle::area() { return 3.14 * radius* radius; } double Rectangle::area() { return height * width; } double Triangle::area() { return di * height / 2; } int main() { Circle c1(12.6),c2(4.9); Rectangle r1(4.5,8.4),r2(5.0,2.5); Triangle t1(4.5,8.4),t2(3.4,2.8); Shape *pt[6] = {&c1,&c2,&r1,&r2,&t1,&t2}; double areas = 0.0; for(int i = 0; i < 6; i++) { areas = areas + pt[i]->area(); } cout << "totol of all areas = " << areas << endl; system("pause"); return 0; }
运行结果:
相关文章推荐
- 十三周任务(一)1.3
- 十三周任务四
- 十三周任务(二)2.1
- 迟到的十三周任务二 动物类派生各类 抽象类
- 十三周任务4
- 十三周任务(二)2.2
- 十三周任务三 Sharp Circle Rectangle Triangle
- 十三周任务2
- 十三周任务四:设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数
- 十三周任务(二)2.3
- 十三周任务四 Csolid CBox CBall CCylinder
- 采用递归和迭代输出Fibnacci序列的第20个数(第十三周上机任务)
- 十三周任务一
- 十三周任务2-2
- 第十三周 任务四
- 十三周任务2-3
- 十三周作业——任务一
- 十三周任务二
- 十三周任务四
- 十三周任务3