/*
* 檔名稱:test.cpp
* 作 者:劉佳琦
* 完成日期:2023年 4 月 3 日
* 版 本 號:v1.0
* * 問題描述:回想engineer類的資料成員,有眼鏡、揹包等。某engineer的眼鏡、揹包,是glass、bag類的物件。類中的資料成員,其型別可以是簡單型別,也可以是類。通過這種方式,將某些類組合到另外的類中,當作其中的乙個「部件」使用。
本專案設計乙個三角形類,其資料成員不再是三角形三條邊的邊長,而是三角形的三個頂點。利用設計的三角形類,輸入三角形的三個頂點,求出其面積、周長,並判斷其是否為直角三角形和等腰三角形。
* 程式輸出:無
*/#include #include using namespace std;
class cpoint
;class c********
//給出三點的建構函式
void set********(cpoint &x,cpoint &y,cpoint &z);//
float perimeter(void);//計算三角形的周長
float area(void);//計算並返回三角形的面積
bool isright********(); //是否為直角三角形
bool isisosceles********(); //是否為等腰三角形
private:
cpoint a,b,c; //三頂點
double a=b.distance1(c);
double b=c.distance1(a);
double c=a.distance1(b);
};void c********::set********(cpoint &x,cpoint &y,cpoint &z)
float c********::perimeter(void)
float c********::area(void)
cpoint::cpoint(double xx,double yy)
void cpoint::input()
}double cpoint::distance1(cpoint p)const
// 求點到原點的距離
double cpoint::distance0() const
cpoint cpoint::symmetricaxis(char style) const
return p;
}void cpoint::output()
bool c********::isisosceles********() //是否為等腰三角形
int main()
{ cpoint x,y,z;
x.input();
y.input();
z.input();
c******** tri1(x,y,z);
cout<
執行結果:
學習心得:
由於之前第乙個類和函式已經定義好,直接複製貼上即可,關於三條邊的初始化有提出警告,我之前想建乙個建構函式,對三邊進行初始化,但是發現有可能會造成函式的重複定義,最後求得的答案不對,可是我這樣定義又會有警告,雖然能出來結果,待改...
第五周 專案二 物件作為資料成員
問題 include include using namespace std class cpoint class c 給出三點的建構函式 void set cpoint x,cpoint y,cpoint z double perimeter void 計算三角形的周長 double area v...
第五周專案二 物件作為資料成員
參考解答 一 檔名稱 test.cpp 完成日期 2015年 4 月 7 日 版 本 號 v1.0 include include using namespace std class cpoint cpoint cpoint double xx,double yy class c 給出三點的建構函式...
第五周專案二物件作為資料成員
問題及 檔名稱 test.cpp 作 者 郝俊宇 完成日期 2015年 4 月8 日 版 本 號 v1.0 問題描述 回想engineer類的資料成員,有眼鏡 揹包等。某engineer的眼鏡 揹包,是glass bag類的物件。類中的資料成員,其型別可以是簡單型別,也可以是類。通過這種方式,將某些...