(补)第十三周实验报告(4)
2012-05-21 17:07
351 查看
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 王 琦
* 完成日期: 2012 年 5 月 16 日
* 版 本 号:
* 对任务及求解方法的描述部分 :
* 输入描述:
* 问题描述:设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。
* 程序输出:
* 程序头部的注释结束
程序代码:
运行显示:
正方体面积为:54体积为:27
球面积为:201.062体积为:85.3333
圆柱体面积为:87.9646体积为:62.8319
请按任意键继续. . .
上机感想:
要理解抽象的类、、
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 王 琦
* 完成日期: 2012 年 5 月 16 日
* 版 本 号:
* 对任务及求解方法的描述部分 :
* 输入描述:
* 问题描述:设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。
* 程序输出:
* 程序头部的注释结束
程序代码:
#include <iostream> using namespace std; class CSolid { public: virtual double area()const=0; virtual double volume()const=0; }; class CCube:public CSolid { public: CCube(double a):x(a){} double area()const; double volume()const; private: double x; }; double CCube ::area()const { cout << (6*x*x); return 0; } double CCube ::volume()const { cout<<(x*x*x); return 0; } class CBall:public CSolid { public: CBall(double r):R(r){} double area()const; double volume()const; private: double R; }; double CBall ::area()const { cout<< (4*3.1415926*R*R); return 0; } double CBall ::volume()const { cout<< (4*R*R*R/3); return 0; } class CCylinder:public CSolid { public: CCylinder(double r,double h):R(r),H(h){} double area()const; double volume()const; private: double R,H; }; double CCylinder ::area()const { cout<< (2*3.1415926*R*R+2*3.1415926*R*H); return 0; } double CCylinder ::volume()const { cout<< 3.1415926*R*R*H; return 0; } int main() { CSolid *p; CCube cCube(3); p=&cCube; cout<<"正方体面积为:"; p->area(); cout<<"体积为:"; p->volume (); cout<<endl; CBall cBall(4); p=&cBall; cout<<"球面积为:"; p->area(); cout<<"体积为:"; p->volume (); cout<<endl; CCylinder cCylinder(2,5); p=&cCylinder; cout<<"圆柱体面积为:"; p->area(); cout<<"体积为:"; p->volume (); cout<<endl; system("pause"); return 0; }
运行显示:
正方体面积为:54体积为:27
球面积为:201.062体积为:85.3333
圆柱体面积为:87.9646体积为:62.8319
请按任意键继续. . .
上机感想:
要理解抽象的类、、