第13周项目(3)-形状类族的中的纯虚函数
来源:互联网 发布:老人 音乐软件 编辑:程序博客网 时间:2024/05/16 07:26
问题描述及代码:
/**copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称:hellow.cpp*作者:田甜*完成日期:2016年5月28日*版本号:v1.0**问题描述:写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。 *输入描述:///*程序输出:*///*/#include <iostream>using namespace std;class shap{public: virtual double area()=0;};class Circle:public shap{public: Circle(double r):radious(r){} virtual double area() { return radious*radious*3.14159; }private: double radious;};class Triangle:public shap{public: Triangle(double w,double h):wight(w),hight(h){} virtual double area() { return wight*hight*0.5; }private: double wight,hight;};class Rectangle:public shap{public: Rectangle(double l,double w,double h):lenth(l),wid(w),hight(h){} virtual double area() { return lenth*hight*wid; }private: double lenth,wid,hight;};int main(){ Circle c1(3.0),c2(5.0); Triangle t1(2.1,3.1),t2(5.5,6.3); Rectangle r1(1.0,2.0,3.0),r2(4.0,5.0,6.0); shap* p[6]={&c1,&c2,&t1,&t2,&r1,&r2}; double areas=0; for(int i=0;i<6;i++) areas+=p[i]->area(); cout<<"面积总和为:"<<areas; return 0;}
运行结果:
心得体会:
之前有一次调试的时候遇到了编译错误,提示 cannot convert 'Triangle*' to 'shap*' in initialization|
大意就是指向基类的指针不能在初始化时指向派生类对象,机智的我马上就发现问题其实很简单,忘记继承了。。【没错就是这么。。】没:public shap
0 0
- 第13周项目(3)-形状类族的中的纯虚函数
- C++第13周项目 多态性 【项目3-形状类族的中的纯虚函数】
- 第13周实践项目3形状类族的中的纯虚函数
- 第13周-项目3-形状类族的中的纯虚函数
- 第13周项目3--形状类族的中的纯虚函数
- 第13周项目2形状类族的中的纯虚函数
- 第13周项目2-形状类族的中的纯虚函数
- 第13周 【项目2-形状类族的中的纯虚函数】
- 第13周项目2-形状类族的中的纯虚函数
- 第13周项目2-形状类族的中的纯虚函数
- 第13周项目2-形状类族的中的纯虚函数
- 第13周 项目2 形状类族的中的纯虚函数
- 第13周项目2-形状类族的中的纯虚函数
- 第13周项目2-形状类族的中的纯虚函数
- 第3周项目3-形状类族的中的纯虚函数
- 第13周项目3 形状类族中的纯虚函数
- 第13周项目3—形状类族中的纯虚函数
- 第13周项目3:形状类族中的纯虚函数
- RN----导入组件,import from 'xxxx'的用法详解
- 如何通过插件携带第二个单据体到下游单据
- Android 最火开发框架xUtils
- Guava学习笔记:Google Guava 类库简介
- JQ滑动门
- 第13周项目(3)-形状类族的中的纯虚函数
- acm 3 1001 problem a
- Text和String的区别
- Linux常用Shell命令
- 【HDU】 1239 Calling Extraterrestrial Intelligence Again
- 多线程(一)概述
- 图的邻接表存储及其实现
- 用 Retrofit 2 简化 HTTP 请求(Jake Wharton)
- 深入浅出ES6(一):ES6是什么