C++函数问题7

来源:百度知道 编辑:UC知道 时间:2024/05/15 06:05:02
使用函数重载的方法定义两个重名函数,分别求出整型数的两点间距离和浮点型数两点间的距离,调试成功后,再将其改为用函数模板实现。函数形式为:
double dist(int x1,int y1,int x2,int y2);
double dist(double x1,double y1,double x2,double y2);
什么叫做:再将其改为用函数模板实现?这个题不是很明白,希望能详细地编一下程序,谢谢。
我要整个的程序涉及。。。。。

#include <iostream>
#include <math.h>

using namespace std;

template <typename T>
T dist ( T x1, T y1, T x2, T y2)
{
return sqrt(pow((double)(x1 - x2),2) + pow((double)(y1 - y2),2));
}

int main()
{
cout << dist(3,4,5,6) << endl;
cout << dist(3.6,4.5,5.7,9.1) << endl;

return 0;
}

//改成这样就行了:
#include <iostream>
#include <cmath>
using namespace std;
template <typename T>
double dist(T x1,T y1,T x2, T y2)
{
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}

int main()
{
cout << dist(3,4,5,6) << endl; //参数为int
cout << dist(3.6,4.5,5.7,9.1) << endl;//参数为double
cout << dist(3.6f,4.5f,5.7f,9.1f) << endl;//float
return 0;
}

template <typename T1, typename T2>
T2 dist(T1 x1,T1 y1,T1 x2, T1 y2)