类的继承和派生——求圆柱表面积
生活随笔
收集整理的這篇文章主要介紹了
类的继承和派生——求圆柱表面积
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
利用基類、派生類編寫一個程序計算Point類、Circle類派生所得Cylinder類的表面積。
#include<iostream> using namespace std; #define PI 3.14 class Point{//定義Point類 private:int X,Y;//坐標 public:Point(int X=0,int Y=0){//帶參數構造函數 this->X=X;this->Y=Y;} void ShowXY(){//顯示坐標值 cout<<X<<" "<<Y<<endl;} };class Circle:protected Point{//由Point類派生出Circle類 PS:protected 比public 保護性更強所以選前者 protected:double r;//半徑 public:Circle(double r,int X,int Y):Point(X,Y){//帶參數構造函數 this->r=r;}double area(){//計算圓的表面積 return 2*PI*r*r;}void ShowC(){//顯示 cout<<r<<endl;ShowXY();}}; class Cylinder:protected Circle{//由Circle派生出Cylinder類 private :double height;//圓柱高度 public:Cylinder(double height, double r, int X, int Y):Circle(r,X,Y){//帶參數構造函數 this->height=height;}void ShowCY(){//顯示 cout<<height<<" ";ShowC(); }double area(){//計算圓柱體表面積 return 2*Circle::area() +2*PI*r*height;//兩個圓底的面積由Circle類函數進行計算 } }; int main(){Cylinder c(1,1,12,12);//定義圓柱體 c.ShowCY();//顯示圓柱體信息 cout<<c.area()<<" "<<endl;//計算并返回結果 return 0; }總結
以上是生活随笔為你收集整理的类的继承和派生——求圆柱表面积的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot下controll层
- 下一篇: c# directory.getfile