#include<iostream>
using namespace std;
template<typename T>
class Add{
public:
Add(T a,T b,T c)
{x=a;
y=b;
z=c;
}
T sum()
{return x+y+z;}
private:
T x,y,z;
};
template<typename T1,typename T2,typename T3>
class Add_{
public:
Add_(T1 a,T2 b,T3 c)
{ x=a;
y=b;
z=c;
}
T2 sum_()
{ return x+y+z;}
private:
T1 x;
T2 y;
T3 z;
};
int main()
{Add<int> sum1(3,4,5);
cout<<"三个整数之和:"<<sum1.sum()<<endl;
Add<double> sum2(2.3,4.5,2.3);
cout<<"三个双精度数之和:"<<sum2.sum()<<endl;
Add_<int,double,double> sum_1(3,3.4,3.5);
cout<<"一个整数两个双精度数之和:"<<sum_1.sum_()<<endl;
return 0;
}
using namespace std;
template<typename T>
class Add{
public:
Add(T a,T b,T c)
{x=a;
y=b;
z=c;
}
T sum()
{return x+y+z;}
private:
T x,y,z;
};
template<typename T1,typename T2,typename T3>
class Add_{
public:
Add_(T1 a,T2 b,T3 c)
{ x=a;
y=b;
z=c;
}
T2 sum_()
{ return x+y+z;}
private:
T1 x;
T2 y;
T3 z;
};
int main()
{Add<int> sum1(3,4,5);
cout<<"三个整数之和:"<<sum1.sum()<<endl;
Add<double> sum2(2.3,4.5,2.3);
cout<<"三个双精度数之和:"<<sum2.sum()<<endl;
Add_<int,double,double> sum_1(3,3.4,3.5);
cout<<"一个整数两个双精度数之和:"<<sum_1.sum_()<<endl;
return 0;
}