C++编程练习:多态实验——利用抽象类和纯虚函数,编程计算正方体、球体和圆柱体的表面积和体积。
生活随笔
收集整理的這篇文章主要介紹了
C++编程练习:多态实验——利用抽象类和纯虚函数,编程计算正方体、球体和圆柱体的表面积和体积。
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
例、要求利用抽象類和純虛函數(shù),編程設(shè)計一個程序計算正方體、球體和圓柱體的表面積和體積,具體要求如下:
1、設(shè)計一個抽象類為公共基類 ;
2、設(shè)計成員函數(shù)source_area( ),求表面積;
3、設(shè)計成員函數(shù)volume( ),求體積;
4、定義數(shù)據(jù)成員r;
5、派生類cube、sphere、cylinder分別表示正方體類、球體類和圓柱體類。
程序如下:
//頭文件 #include <iostream> using namespace std; #define PI 3.141265 class Solid //定義抽象類 { protected:double r;double s, v; public:virtual double S() = 0;virtual double V() = 0;Solid(double a, double b, double c){r = a;s = b;v = c;} };class Cube :public Solid { public:Cube(double a, double b, double c) : Solid(a, b, c){}double S(){s = 6 * r * r;return s;}double V(){v = r * r * r;return v;} };class Sphere :public Solid { public:Sphere(double a, double b, double c) : Solid(a, b, c){}double S(){s = 4 * PI * r * r;return s;}double V(){v = PI * r * r * r * 4 / 3;return v;} }; class Cylinder :public Solid { protected:double high; public:Cylinder(double h, double r, double a, double v) : Solid(r, a, v){high = h;}double S(){s = 2 * PI * r * r + 2 * PI * r * high;return s;}double V(){v = PI * r * r * high;return v;} }; double source_area(Solid* p) {return p->S(); } double volume(Solid* p) {return p->V(); } //主函數(shù) #include"頭文件.h" #include <iostream> using namespace std; int main() {char a;double r0, h;cout << "請輸入正方體的邊長:" << endl;cin >> r0;Cube cube(r0, 0, 0);cout << "正方體的表面積為:" << source_area(&cube) << endl << "正方體的體積為:" << volume(&cube) << endl;cout << "-------------------------";cout << "" << endl;cout << "請輸入球體的半徑:" << endl;cin >> r0;Sphere sphere(r0, 0, 0);cout << "球體的表面積為:" << source_area(&sphere) << endl << "球體的體積為:" << volume(&sphere) << endl;cout << "-------------------------";cout << "" << endl;cout << "請輸入圓柱體的的底面半徑:" << endl;cin >> r0;cout << "請輸入圓柱體的的高:" << endl;cin >> h;Cylinder cylinder(r0, h, 0, 0);cout << "球體的表面積為:" << source_area(&cylinder) << endl << "球體的體積為:" << volume(&cylinder) << endl;system("pause");return 0; }測試結(jié)果如下:
以上就是本次C++的全部內(nèi)容,感謝您的閱讀和支持,篇幅較長,若有表述或者代碼中的不當(dāng)之處,望指出!您的指出和建議能給作者帶來很大的動力!!!
?
總結(jié)
以上是生活随笔為你收集整理的C++编程练习:多态实验——利用抽象类和纯虚函数,编程计算正方体、球体和圆柱体的表面积和体积。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库原理与应用(SQL Server)
- 下一篇: C++编程练习:多态实验——设计一个基类