7 函数模板:两点间的距离
作者: 冯向阳时间限制: 1S章节: 其它
问题描述 :
使用模板函数,分别求出int型数的两点间的距离和浮点型数的两点间的距离。在main函数中测试运用模板函数。
函数原型为:
template <class T>
T distance( T, T, T, T);
main函数可参考以下代码编写:
int main( ){
int i_x1, i_y1, i_x2, i_y2;
double d_x1, d_y1, d_x2, d_y2;
cin>>i_x1>>i_y1>>i_x2>>i_y2;
cin>>d_x1>>d_y1>>d_x2>>d_y2;
cout<<distance( i_x1, i_y1, i_x2, i_y2 )<<endl;
cout<<distance(d_x1, d_y1, d_x2, d_y2 )<<endl;
return 0;
}
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
template <class T>
T distance( T &a, T &b, T &c, T &d)
{
T m,n;
m=(a-c)*(a-c)+(b-d)*(b-d);
n=sqrt(m);
return n;
}
int main( ){
int i_x1, i_y1, i_x2, i_y2;
double d_x1, d_y1, d_x2, d_y2;
cin>>i_x1>>i_y1>>i_x2>>i_y2;
cin>>d_x1>>d_y1>>d_x2>>d_y2;
cout<<distance( i_x1, i_y1, i_x2, i_y2 )<<endl;
cout<<distance(d_x1, d_y1, d_x2, d_y2 )<<endl;
return 0;
}