2012-07-29 52 views
1

我有一個任務,我覺得很困難。任何幫助,將不勝感激。建立一個形狀類廣場

通過創建Shape類Circle,Square和Triangle來構建層次結構。對於這些派生類,創建默認構造函數和構造函數,其參數可以使用正確數量的Point對象適當地初始化形狀(即Circle需要Point中心和半徑; Square需要四個Point頂點,而Triangle需要三個Point頂點)。

在main()中,創建一個以下每個實例:一個半徑爲23的圓,一個帶有邊的正方形25,以及一個帶有邊10,20,30的三角形。定義所有這些元素,以便原點(0,0)在每個對象內的某處。顯示來自每個對象的信息。當我在main()Square s(25,Point(0,0))下輸入時;

類打印出

Square::area 625 
Square::perimeter 100 
Square::bounding (12.5,-12.5)(-12.5,12.5)(12.5,12.5)(-12.5,-12.5) 

我想知道做依據什麼分配問這個樣子吧?

回答

1

不,它不需要,從需求看來你需要的Square構造函數取4點作爲參數:

Square(const Point& pt1,const Point& pt2,const Point& pt3,const Point& pt4) 

廣場需要四個點的頂點

,對嗎?

+0

@Jay那麼你的問題到底是什麼? – 2012-07-29 03:06:17

+0

如果我創建我的構造函數需要4點,在main下我將不得不創建類似如下的東西:Square(25,Point(0,0),Point(0,0),Point(0,0),Point( 0,0);? – Jay 2012-07-29 03:10:02

+0

@Jay不,我會說'Square(點(-1,-1),點(-1,1),點(1,1),點(1,-1 ))''。你不需要通過邊或中心的長度,只是在角落處 – 2012-07-29 03:17:36