第十三周 课后实践:项目二——形状类族中的纯虚函数
2015-06-10 12:36
405 查看
问题及代码:
运行结果:
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:Project4.cpp * 作 者:陈旭 * 完成日期:2015年6月10日 * 版 本 号:v1.0 * * 问题描述: 用如下的main函数,求出定义的几个几何体的面积和 * 输入描述:略 * 程序输出:略 */ #include <iostream> using namespace std; class Shape { public: virtual double area()=0; }; class Circle :public Shape { private: double r; public: Circle(double a):r(a){} double area(); }; double Circle::area() { double pi=3.1415926; return pi*r*r; } class Rectangle :public Shape { private: double chang; double kuan; public: Rectangle(double a,double b):chang(a),kuan(b){} double area(); }; double Rectangle::area() { return chang*kuan; } class Triangle: public Shape { private: double di; double high; public: Triangle(double d,double h):di(d),high(h){} double area(); }; double Triangle::area() { return 0.5*di*high; } 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; //输出总面积 return 0; }
运行结果:
相关文章推荐
- android获取MIME类型
- C++之类的static成员
- HTTP协议笔记
- 基于SWOOLE的分布式SOCKET消息服务器架构
- 堆和栈的区别
- 最新V5棋牌源码V5程序棋牌源码,最新网狐V5源码,网狐6603源码
- [转载]UIKit Dynamics入门(OC)
- Vnstat-linux网络流量统计工具
- 服务器应用程序不可用,由于无法创建应用程序域,因此未能执行请求。错误: 0x80070002 系统找不到指定的文件。
- iOS中UITextField用法
- setuid权限
- JAVASE学习笔记:第十章 SWing常用控件类(二)
- 9种样式CSS3 渐变按钮集
- 关于工资的三个秘密
- Git:代码冲突常见解决方法
- python的web编程
- 总结GMAT写作易错句子集合
- 新gre考试写作中以疑问句开头
- iOS中的模糊效果
- opencl开发环境配置