十二周——多态性——项目三 立体类族共有的抽象类
来源:互联网 发布:手机积分软件 编辑:程序博客网 时间:2024/05/27 20:32
问题及代码:
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:lily.cpp *作者:李莉 *完成日期:2015年6月1日 *版本号:v1.0 *问题描述:设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。*程序输入:无输入 *程序输出:运行结果 */ #include <iostream>using namespace std;class CSolid{public: virtual double area()=0; virtual double volume()=0;};class CCube:public CSolid{public: CCube(){}; void setl() { cin>>length;; } virtual double area() { return length*length*6; } virtual double volume() { return length*length*length; }private: double length;};class CBall:public CSolid{public: CBall(){}; void setr() { cin>>r; } virtual double area() { return 4*3.14159*r*r; } virtual double volume() { return (4/3)*3.14159*r*r*r; }private: double r;};class CCylinder:public CSolid{public: CCylinder(){}; void setr() { cin>>radius>>hight; } virtual double area() { return 2*radius*radius*3.14159+2*3.14159*radius*hight; } virtual double volume() { return radius*radius*3.14159*hight; }private: double radius; double hight;};int main(){ CSolid *p; double s,v; CCube cu; cout<<"请输入立方体的边长:"<<endl; cu.setl(); p=&cu; s=p->area(); v=p->volume(); cout<<"立方体的表面积是:"<<s<<endl; cout<<"立方体的体积是:"<<v<<endl; cout<<"请输入球的半径:"<<endl; CBall ba; p=&ba; ba.setr(); s=p->area(); v=p->volume(); cout<<"球的表面积是:"<<s<<endl; cout<<"球的体积是:"<<v<<endl; CCylinder cy; p=&cy; cout<<"请输入圆柱体的底面半径和高:"<<endl; cy.setr(); s=p->area(); v=p->volume(); cout<<"圆柱体的表面积是:"<<s<<endl; cout<<"圆柱体的体积是:"<<v<<endl; return 0;}
运行结果:
心得体会:
我怎么可以又忘记初始化呢!!!
0 0
- 十二周——多态性——项目三 立体类族共有的抽象类
- 第十三周项目三——立体类族共有的抽象类
- 15第十三周项目三——立体类族共有的抽象类
- 第十三周 课后实践:项目三——立体类族共有的抽象类
- 第十四周(项目三)——立体类族共有的抽象类。
- C++第13周项目 多态性 【项目4-立体类族共有的抽象类】
- 第十三周实践项目4————立体类族共有的抽象类
- 第十三周项目二——立体类族共有的抽象类
- 第13周上机实践项目3——立体类族共有的抽象类
- 第十三周项目3——【立体类族共有的抽象类】
- 第十三周项目3——立体类族共有的抽象类
- 第十三周上机实践——项目4-立体类族共有的抽象类
- 第十三周项目4——立体类族共有的抽象类
- 第13周项目3—立体类族共有的抽象类
- 第十三周项目4—立体类族共有的抽象类
- 第13周项目4—立体类族共有的抽象类
- 第13周-多态性-项目3-立体类族共有的抽象类
- 项目三-立体类族共有的抽象类
- PHP命名空间
- Hibernate创建持久化类,用Junit 测试
- 每天一道算法题(5)——求2个字符串的最长公共子序列和最长公共子字符串
- Remove Duplicates from Sorted Array
- Numpy学习笔记5-数组遍历方法
- 十二周——多态性——项目三 立体类族共有的抽象类
- opencv的图像卷积、图像滤波、图像平滑的解析
- Python之学习笔记(内建模块html,xml)
- nginx的优化配置参数
- JavaScript-if-else
- Memory-mapped I/O vs port-mapped I/O
- 二叉树的实现
- XPath 获取两个node中间的HTML Nodes
- 近期计算机类图书强推重磅一览