编程小练习
来源:互联网 发布:雅思大作文 知乎 编辑:程序博客网 时间:2024/06/06 03:47
- #include<iostream>
- using namespace std;
- //基类
- class CSolid
- {
- public :
- virtual double area() const=0;//面积
- virtual double tiji() const=0;//体积
- };
- ///正方体
- class CCube:public CSolid
- {
- private:
- double chang,kuan,gao;
- public :
- CCube(double cha,double kua,double ga):chang(cha),kuan(kua),gao(ga){}
- double area() const;
- double tiji() const;
- };
- /******/
- double CCube::area() const
- {
- return chang*kuan*2+chang*gao*2+kuan*gao*2;
- }
- double CCube::tiji() const
- {
- return chang*kuan*gao;
- }
- ///球体
- class CBall:public CSolid
- {
- private:
- double banjing;
- public:
- CBall(double ban):banjing(ban){}
- double area() const;
- double tiji() const;
- };
- /*******/
- double CBall::area() const
- {
- return 4*3.14159*banjing*banjing;
- }
- double CBall::tiji() const
- {
- return 4*3.14159*banjing*banjing/3;
- }
- ///圆柱体
- class CCylinder:public CSolid
- {
- private:
- double banjing,gao;
- public:
- CCylinder(double ban,double ga):banjing(ban),gao(ga){}
- double area() const ;
- double tiji() const ;
- };
- double CCylinder::area() const
- {
- return 3.14159*banjing*banjing*2+2*3.14159*banjing*gao;
- }
- double CCylinder::tiji() const
- {
- return 3.14159*banjing*banjing*gao;
- }
- int main()
- {
- CCube c1(2.1,2.1,2.1);
- CBall b1(2.5);
- CCylinder r1(2.5,3.0);
- CSolid *pt[3]= {&c1,&b1,&r1}; //定义基类指针数组pt,使它每一个元素指向一个派生类对象
- cout<<"长方体表面积:"<<pt[0]->area()<<" 长方体体积:"<<pt[0]->tiji()<<endl;
- cout<<"球体的表面积:"<<pt[1]->area()<<" 球体的体积:"<<pt[1]->tiji()<<endl;
- cout<<"圆柱的表面积:"<<pt[2]->area()<<" 圆柱的体积:"<<pt[2]->tiji()<<endl;
- return 0;
- }
0 0
- 编程练习小程序
- 编程小练习
- 编程小练习(1)
- 编程小练习(2)
- 编程小练习(3)
- 编程小练习(4)
- 编程小练习(5)
- 编程小练习(6)
- VB编程小练习
- 编程小练习
- 编程小练习2
- 编程小练习3
- 编程小练习4
- 编程小练习5
- 编程小练习6
- 编程小练习6
- 编程小练习7
- 编程小练习8
- Elasticsearch IK 同义词
- CSU-1336--Interesting Calculator(bfs)
- 线程和进程的区别和联系
- 155. Min Stack
- js常用事件总结及案例-onSubmit
- 编程小练习
- 使用Android Studio时你应该知道的一些配置
- 【android】:android实现打开网页和拨打电话
- SQL 语句一行拆成多行及多行合并成一行的方法
- Redmine使用手册
- Linux下使用iptables禁止指定IP地址的网络连接
- Qt布局管理: 堆栈窗体QStackedWidget类(纯代码实现)
- 上海复旦大学吴立德教授深度学习课程四
- android开发之自定义dialog