使用函数重载的方法定义两个重名函数,分别求出整型数的两点间距离和浮点型数两点间的距离,调试成功后,再将其改为用函数模板实现。函数形式为: 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>double dist(T t1,T t2, T t3, T t4);template<typename T>double dist(T t1,T t2, T t3, T t4){ return sqrt((t1-t2)*(t1-t2)+(t3-t4)*(t3-t4)); }//实例化模块函数double dist(int x1,int y1,int x2,int y2){ return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}double dist(double x1,double y1,double x2,double y2){ return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));} int main(){ int a = 2, b = 4, c = 5, d = 6; double x = 3.2, y = 5.4, w = 6.5, z = 8.6; double d1 = dist(a,b,c,d); double d2 = dist(x,y,w,z); cout<<"d1="<<d1<<endl; cout<<"d2="<<d2<<endl; return 0;}
提问者对答案的评价: |