13 周 任务四 设计抽象类
2012-05-15 21:22
120 查看
#include <iostream> #include <string> using namespace std; class CSolid { public: virtual double area() const = 0; virtual double volume() const = 0; }; class CCube:public CSolid { public: CCube ( double c ) { this -> c = c; } virtual double area() const { return 6 * c * c; } virtual double volume() const { return c * c * c ; } protected: double c; }; class CBall:public CSolid { public: CBall ( double r1 ) { this -> r1 = r1; } virtual double area() const { return 4 * 3.1415926 * r1 * r1; } virtual double volume( ) const { return 4 * 3.1415926 * r1 * r1 * r1 / 3; } protected: double r1; }; class CCylinder: public CSolid { public: CCylinder ( double h1, double h2 ) { this -> h1 = h1; this -> h2 = h2; } virtual double area ( ) const { return 2 * 3.1415926 * h1 * h1 + 2 * 3.1415926 * h1 * h2; } virtual double volume( ) const { return 3.1415926 * h1 * h1 * h2; } protected: double h1; double h2; }; int main() { CSolid *p; //定义基类的指针 p; CCube cc ( 1 ); //建立CCube类对象 cc 并为其数据成员“边长”赋值为1; CBall cb ( 1 ); //建立CBall类对象 cb 并为其数据成员“半径”赋值为1; CCylinder cy ( 1, 1 ); //建立CCylinder类对象cy,并为其数据成员“半径,高”分别赋值为“1,1”. p = & cc; cout << "正方体的表面积为:" << p -> area () << endl; cout << "正方体的体积为:" << p -> volume () << endl; p = & cb; cout << "球的表面积为" << p -> area() << endl; cout << "球的体积为" << p -> volume() << endl; p = & cy; cout << "圆柱体的表面积为" << p -> area () << endl; cout << "圆柱体的体积为" << p -> volume () << endl; system ( "pause" ); return 0; }
调试结果为: 正方体的表面积为:6 正方体的体积为:1 球的表面积为12.5664 球的体积为4.18879 圆柱体的表面积为12.5664 圆柱体的体积为3.14159 请按任意键继续. . .
相关文章推荐
- 十三周任务四:设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数
- C++第十三周【任务4】设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数,同时设计个派生类CCube、CBall、CCylinder
- 第十三周【任务四】 设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数
- 第十三周任务四(抽象类CSolid,含有两个求表面积及体积的纯虚函数。设计个派生类CCube、CBall、CCylinder)
- 第十三周 任务四 设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数
- 《第十三周任务二-----2.3》改造程序,使Animal设计为抽象类。将这一数据成员作为抽象类Animal数据成员被各派生类使用
- 第十三周【任务二】Animal设计为抽象类,每一个Animal的派生类都有一个“名字”数据成员
- 第13周任务4(设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。设计个派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体)
- 第13周实验--任务2--设计一个抽象类
- 第十三周实验--任务4--设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。
- 第六周实验指导--任务3--设计平面坐标点类,计算两点之间距离
- 第六周实验指导--任务五--设计一个三角形类,能够输入三角形的三个顶点,求出其面积、周长。
- 基于嵌入式OS的任务设计-----任务划分
- 一个简单的任务执行引擎设计
- 状态模式---设计任务系统
- 抽象类设计规则,特点及举例
- 第十五周C++任务一(窗口设计三角形类)
- 抽象类的实际应用--模板设计
- 记一次分布式B站爬虫任务系统的完整设计和实施
- 卫星任务规划系统时间窗口模块的设计与实现