如何利用C++模板技术实现整数或浮点数x的y次方

来源:百度知道 编辑:UC知道 时间:2024/06/10 21:48:25

#include<iostream>
#include<cmath>
using namespace std;
template<class T>
class A
{

public:
A();
A(T _a,T _b);
T sum();
private:
T a;
T b;
};

template <class T>
A<T>::A()
{
a=0;b=0;
}

template<class T>
A<T>::A(T _a,T _b)
{
a=_a;b=_b;
}
template<class T>
T A<T>::sum()
{
return pow(a,b);
}
void main()
{
A<int> ai(3,4);
A<double> ad(3.1,4.0);
cout<<ai.sum()<<"\n"<<ad.sum()<<endl;
}

//直接使用模板函数就可以了

#include <iostream>
using namespace std;

template <class T>
T power(T x, int y)
{
T temp = 1;
for(int i=0; i<y; i++)
temp *= x;
return temp;
}

int main()
{
int x, y;
fl