第十三周实验报告3
2012-05-21 18:28
375 查看
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:Shape抽象类 * 作 者: 于宸 * 完成日期: 2012 年 05 月 20 日 * 版 本 号: 1.067 * 对任务及求解方法的描述部分 * 输入描述: ...... * 问题描述: ...... * 程序输出: ...... * 程序头部的注释结束 */
#include<iostream> using namespace std; const double PI = 3.14159; class Shape { public: virtual double area() const =0; }; class Circle: public Shape { public: Circle(double radius); virtual double area() const; protected: double radius; //半径 }; class Rectangle: public Shape { public: Rectangle(double length, double width); virtual double area() const; protected: double length; double width; }; class Triangle: public Shape { public: Triangle(double base, double height); virtual double area() const; protected: double base; double height; }; Circle::Circle(double radius) { this->radius = radius; } double Circle::area() const { return PI * radius * radius; } Rectangle::Rectangle(double length, double width) { this->length = length; this->width = width; } double Rectangle::area() const { return length * width; } Triangle::Triangle(double base, double height) { this->base = base; this->height = height; } double Triangle::area() const { return 0.5 * base * height; } int main() { Circle c1(12.6), c2(4.9); //建立Circle类对象c1,c2,参数为圆半径 Rectangle r1(4.5, 8.4), r2(5.0, 2.5); //建立Rectangle类对象r1,r2,参数为矩形长、宽 Triangle t1(4.5, 8.4), t2(3.4, 2.8); //建立Triangle类对象t1,t2,参数为三角形底边长与高 Shape *pt[6] = {&c1, &c2, &r1, &r2, &t1, &t2}; //定义基类指针数组pt,各元素指向一个派生类对象 double areas = 0.0; //areas为总面积 for(int i = 0; i < 6; i++) { areas = areas + pt[i]->area(); } cout << "totol of all areas=" << areas << endl; //输出总面积 system("pause"); return 0; }
相关文章推荐
- 第十三周实验报告1
- 第十三周实验报告 任务二(2)
- 第十三周实验报告1
- 《C++第十三周实验报告3-1》---定义抽象基类Shape,由它派生出3个派生类
- 《第十三周实验报告任务4》
- 第十三周实验报告(2)
- 第十三周实验报告1
- 第十三周实验报告2修改版
- 第十三周实验报告2
- 第十三周实验报告 任务二(3)
- 第十三周实验报告1.2
- 《C++第十三周实验报告4-1》---设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。 设计个派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。
- 第十三周实验报告(一)用自己的话总结对虚函数、多态性和抽象类的理解
- 第十三周实验报告3
- 第十三周实验报告(3)
- 第十三周实验报告4
- 第十三周实验报告一
- 第十三周实验报告3
- 第十三周实验报告》报告2. (2011-11-20 16:43
- 第十三周实验报告(任务一)【虚函数、多态性、抽象类】