題目描述
題目描述
設(shè)計(jì)一個(gè)Point類,有兩個(gè)私有的數(shù)據(jù)成員x和y,存儲(chǔ)橫坐標(biāo)和縱坐標(biāo),并為該類定義各種構(gòu)造函數(shù)。
再設(shè)計(jì)一個(gè)三角形類Triangle,該類有3個(gè)Point類的私有對(duì)象成員,分別代表三角形的三個(gè)頂點(diǎn)。
為該類定義各種構(gòu)造函數(shù)。
將三角形類聲明為Point類的友元類,在三角型類中定義一個(gè)成員函數(shù)double getArea(); ,用來(lái)求三角形的面積。
在主函數(shù)中創(chuàng)建三角形對(duì)象,計(jì)算并輸出面積。

輸入描述
輸入三行,每行輸入一個(gè)點(diǎn)的橫坐標(biāo)、縱坐標(biāo)
輸出描述
輸出三角形的面積
提示
程序的開始部分(必要的頭文件包含和using namespace std;)和main函數(shù)已經(jīng)寫好了,你只需要設(shè)計(jì)Point類和Triangle類。(只需要提交這部分代碼)
解讀
涉及友元相關(guān)內(nèi)容
源代碼
?
#include#includeusing namespace std;
class Point
{
friend class Triangle;
public:
Point() :x(0), y(0) {} //默認(rèn)構(gòu)造函數(shù)
Point(double x, double y) :x(x), y(y) {} //帶參構(gòu)造函數(shù)
Point(Point& p) //拷貝構(gòu)造函數(shù)
{
x = p.x;
y = p.y;
}
~Point() {}; //析構(gòu)函數(shù)
private:
double x, y;
};
class Triangle
{
public:
Triangle(Point a, Point b, Point c) //帶參構(gòu)造函數(shù)
{
p1 = a;
p2 = b;
p3 = c;
}
Triangle(Triangle& t) //拷貝構(gòu)造函數(shù)
{
p1 = t.p1;
p2 = t.p2;
p3 = t.p3;
}
~Triangle() {}; //析構(gòu)函數(shù)
double getArea(); //成員函數(shù)
private:
Point p1, p2, p3;
};
double Triangle::getArea()
{
double ab = sqrt((p2.x - p1.x) * (p2.x - p1.x) + (p2.y - p1.y) * (p2.y - p1.y));
double ac = sqrt((p3.x - p1.x) * (p3.x - p1.x) + (p3.y - p1.y) * (p3.y - p1.y));
double bc = sqrt((p3.x - p2.x) * (p3.x - p2.x) + (p3.y - p2.y) * (p3.y - p2.y));
double p = (ab + bc + ac) / 2;
double s = sqrt(p * (p - ab) * (p - ac) * (p - bc));
return s;
}
int main()
{
double x, y;
cin >>x >>y;
Point a(x, y);
cin >>x >>y;
Point b(x, y);
cin >>x >>y;
Point c(x, y);
Triangle t(a, b, c);
cout<< t.getArea()<< endl;
return 0;
}
[點(diǎn)擊并拖拽以移動(dòng)]
? 你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前文章:貴州大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)(C++)第一次作業(yè)三角形求面積-創(chuàng)新互聯(lián)
文章源于:http://chinadenli.net/article40/diijeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、建站公司、Google、外貿(mào)建站、網(wǎng)站改版、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容