64,637
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <cmath>
using namespace std;
template<class T>
class CNum
{
public:
T m_elem;
CNum(T elem);
T operator^(CNum &other);
};
template <class T>
CNum<T>::CNum(T elem)
{
m_elem = elem;
}
template <class T>
T CNum<T>::operator^(CNum &other)
{
return (T)pow((double)m_elem, double(other.m_elem));
}
int main()
{
CNum<int> objInt1(5), objInt2(3);
int t = objInt1 ^ objInt2;
cout << t << endl;
CNum<double> objDbl1(3.5), objDbl2(1.5);
double d = objDbl1 ^ objDbl2;
cout << d << endl;
return 0;
}