第十三周实验报告4(纯虚函数--抽象类)
来源:互联网 发布:江苏昆山华道数据 编辑:程序博客网 时间:2024/05/29 18:40
程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 纯虚函数
* 作 者: 王智凯
* 完成日期: 2012年 5月14日
* 版 本 号: 凯子
//【任务4】设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。//设计个派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。//在main()函数中,定义基类的指针p(CSolid *p;),利用p指针,输出正方体、球体及圆柱体对象的表面积及体积。#include <iostream>using namespace std;double pi = 3.14;//define pi = 3.14;
//CSolidclass CSolid{public:virtual float area() = 0;virtual void show() =0;virtual float volume() = 0;};//CCubeclass CCube:public CSolid{public:CCube(float a1):a(a1){} float area() ; float volume() ;void show();protected:float a;};float CCube::area() {return a*a*6;}float CCube::volume() {return a*a*a;}void CCube::show(){cout<<"正方体的边长是:"<<a<<endl;}//CBallclass CBall:public CSolid{public:CBall(float r1):r(r1){} float area() ;float volume() ;void show();protected:float r;};float CBall::area() {return pi*4*r*r;}float CBall::volume() {return (4/3)*pi*r*r*r;}void CBall::show(){cout<<"圆的半径是:"<<r<<endl;}//CCylinderclass CCylinder:public CSolid{public:CCylinder(float r2,float h1):ra(r2),h(h1){} float area() ;float volume() ;void show();protected:float ra;float h;};float CCylinder::area(){return pi*ra*ra+2*pi*ra*h;}float CCylinder::volume() {return pi*ra*ra*h;}void CCylinder::show(){cout<<"圆柱体的高是:"<<h<<endl;cout<<"圆柱体的底面半径是:"<<ra<<endl;}//main函数void main(){CSolid *p;CCube c1(3.5);CBall c2(4.5);CCylinder c3(3,5);p = &c1; p->show();cout << "正方体的体积:" << p->volume() << endl;cout << "正方体的表面积:" << p->area() << endl << endl;p = &c2;p->show();cout << "球的体积:" << p->area() << endl << endl;p = &c3;p->show();cout << "圆柱的体积:" << p->area() << endl;cout << "圆柱的体积:" << p->volume() << endl;system("pause");}
上机感言:通过前边3个函数的对比,对纯虚函数有了更深的了解。
定义纯虚函数时main函数挺难写的。。。。。。
- 第十三周实验报告4(纯虚函数--抽象类)
- 第十三周实验报告3(纯虚函数-抽象类)
- 第十三周实验报告(任务四)【抽象类CSolid,含有两个求表面积及体积的纯虚函数】
- 第十三周实验报告2 (纯虚函数)
- 第十三周实验报告(任务一)【虚函数、多态性、抽象类】
- 第十三周实验报告(任务二)【虚函数与抽象类的应用】
- 第十三周实验--任务4--设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。
- 第十三周实验报告(四)设计抽象类CSolid含有两个求表面积和体积的虚函数
- 第十三周实验报告(一)用自己的话总结对虚函数、多态性和抽象类的理解
- 第十三周实验报告(任务三)【抽象基类Shape】
- 《C++第十三周实验报告4-1》---设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。 设计个派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。
- 第十三周实验报告(4)
- 第十三周实验报告(4)
- 第十三周实验报告4
- 第十三周实验报告4
- 第十三周实验报告4
- 第十三周实验报告4
- 第十三周实验报告4
- OpenGL学习(1):Visual Studio2010下配置OpenGL环境
- EFM32片内外设--USART UART TX+DMA
- Oracle数据库、表空间、数据文件
- vbox NAT方式下宿主机如何ssh虚拟机
- Android shape自定义button样式
- 第十三周实验报告4(纯虚函数--抽象类)
- poj1007
- Review board 和 Git 配合使用 三
- 求子数组的最大和
- 游戏开发笔记之七——基础动画显示(一)定时器的使用
- ElasticBox: 丢掉服务器吧 开发网络应用是如此的简单
- 游戏开发笔记之八——基础动画显示(二)游戏循环的使用
- 取球游戏--第三届蓝桥杯预赛真题 c++本科组 第10题(我用java做的)
- 一日一点RakNet(50)--Router2