資料的間距問題(函式模板) 類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,模板的形參,用於確定函式的形...