7 3 2017final函式模板 20分

2021-10-07 06:22:18 字數 1017 閱讀 2473

資料的間距問題(函式模板) 類point有三個資料成員:x、y和z, 分別代表x座標、y座標和z座標,並有若干建構函式和乙個過載-(減號,計算兩點距離)的成員函式。 要求設計乙個函式模板,

template < class t> double dist(t a, t b)

對int,float,point或者其他型別的資料,返回間距。

輸入格式:

每一行為乙個操作,每行的第乙個數字為元素型別,1為整型元素,2為浮點型元素,3為point型別,若為整型元素,接著輸入兩個整型資料,若為浮點型元素,接著輸入兩個浮點型資料,若為point型元素,輸入兩個point型資料(x1 y1 z1 x2 y2 z2),輸入0時標誌輸入結束。

輸出格式:

對每個輸入,每行輸出乙個間距值。

輸入樣例:

1 2 5

3 2 4 7 5 9 7

2 2.2 9.9

0輸出樣例:

35.83095

7.7

#includeusing namespace std;

#include//2017final函式模板

class point

//把過載函式宣告為類的友元,可以訪問類中的私有元素

//也可以不宣告友元,直接把那三個座標寫到public 裡面

friend double operator -(point p1, point p2);

private:

double m_x;

double m_y;

double m_z;

};//過載減號(-)

double operator -(point p1, point p2)

//間距模板

templatedouble distance(t1 a, t2 b)

int main()

if (n == 2) //浮點型資料

if (n == 3) //point 型別

return 0;

}

PTA 7 6 2017final函式模板

資料的間距問題 函式模板 類point有三個資料成員 x y和z,分別代表x座標 y座標和z座標,並有若干建構函式和乙個過載 減號,計算兩點距離 的成員函式。要求設計乙個函式模板,template class t double dist t a,t b 對int,float,point或者其他型別的...

PTA 2017final函式模板

資料的間距問題 函式模板 類point有三個資料成員 x y和z,分別代表x座標 y座標和z座標,並有若干建構函式和乙個過載 減號,計算兩點距離 的成員函式。要求設計乙個函式模板,template class t double dist t a,t b 對int,float,point或者其他型別的...

模板 函式模板

c 程式設計 資料結構與程式設計方法 例15.8 利用函式過載技術,求兩個整數 字元 浮點數或字串中的較大值,需要編寫4個函式larger。而c 通過提供函式模板,簡化了過載函式據的過程。include using namespace std template type,模板的形參,用於確定函式的形...