日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

面向对象程序设计案例

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

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位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

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

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