日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面向对象程序设计案例

發布時間:2025/6/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象程序设计案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 .設計立方體類

設計立方體類(Cube),求出立方體的面積( 2*a*b + 2*a*c + 2*b*c )和體積( a * b * c),分別用全局函數和成員函數判斷兩個立方體是否相等。

//立方體類 class Cub{ public:void setL(int l){ mL = l; }void setW(int w){ mW = w; }void setH(int h){ mH = h; }int getL(){ return mL; }int getW(){ return mW; }int getH(){ return mH; }//立方體面積int caculateS(){ return (mL*mW + mL*mH + mW*mH) * 2; }//立方體體積int caculateV(){ return mL * mW * mH; }//成員方法bool CubCompare(Cub& c){if (getL() == c.getL() && getW() == c.getW() && getH() == c.getH()){return true;}return false;} private:int mL; //int mW; //int mH; // };//比較兩個立方體是否相等 bool CubCompare(Cub& c1, Cub& c2){if (c1.getL() == c2.getL() && c1.getW() == c2.getW() && c1.getH() == c2.getH()){return true;}return false; }void test(){Cub c1, c2;c1.setL(10);c1.setW(20);c1.setH(30);c2.setL(20);c2.setW(20);c2.setH(30);cout << "c1面積:" << c1.caculateS() << " 體積:" << c1.caculateV() << endl;cout << "c2面積:" << c2.caculateS() << " 體積:" << c2.caculateV() << endl;//比較兩個立方體是否相等if (CubCompare(c1, c2)){cout << "c1和c2相等!" << endl;}else{cout << "c1和c2不相等!" << endl;}if (c1.CubCompare(c2)){cout << "c1和c2相等!" << endl;}else{cout << "c1和c2不相等!" << endl;} }

?

2.?點和圓的關系

設計一個圓形類(AdvCircle),和一個點類(Point),計算點和圓的關系。

假如圓心坐標為x0, y0, 半徑為r,點的坐標為x1, y1:

1)點在圓上:(x1-x0)*(x1-x0) + (y1-y0)*(y1-y0) == r*r

2)點在圓內:(x1-x0)*(x1-x0) + (y1-y0)*(y1-y0) < r*r

3)點在圓外:(x1-x0)*(x1-x0) + (y1-y0)*(y1-y0) > r*r

//點類 class Point{ public:void setX(int x){ mX = x; }void setY(int y){ mY = y; }int getX(){ return mX; }int getY(){ return mY; } private:int mX;int mY; };//圓類 class Circle{ public:void setP(int x,int y){mP.setX(x);mP.setY(y);}void setR(int r){ mR = r; }Point& getP(){ return mP; }int getR(){ return mR; }//判斷點和圓的關系void IsPointInCircle(Point& point){int distance = (point.getX() - mP.getX()) * (point.getX() - mP.getX()) + (point.getY() - mP.getY()) * (point.getY() - mP.getY());int radius = mR * mR;if (distance < radius){cout << "Point(" << point.getX() << "," << point.getY() << ")在圓內!" << endl;}else if (distance > radius){cout << "Point(" << point.getX() << "," << point.getY() << ")在圓外!" << endl;}else{cout << "Point(" << point.getX() << "," << point.getY() << ")在圓上!" << endl;}} private:Point mP; //圓心int mR; //半徑 };void test(){//實例化圓對象 Circle circle;circle.setP(20, 20);circle.setR(5);//實例化點對象 Point point;point.setX(25);point.setY(20);circle.IsPointInCircle(point); }

?

?

轉載于:https://www.cnblogs.com/mmc9527/p/10429813.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的面向对象程序设计案例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。