求一道C++题答案!
建立一个用来实现求3个数和得类模板(将成员函数定义在类模板的内部),并写出调用此模板的完整程序。...
建立一个用来实现求3个数和得类模板(将成员函数定义在类模板的内部),并写出调用此模板的完整程序。
展开
2个回答
展开全部
问题比较奇怪。有三个数的和完全没必要定义类呀。不知道下面的代码是否满足要求。
#include <iostream>
template<class T>
class Sum {
T v;//保存加法结果。
public:
Sum(const T& v0, const T& v1, const T& v2) : v(v0 + v1 + v2) {}
const T& v() {return v;} //返回结果。
};
int main()
{
double d0 = 1.;
double d1 = 2.;
double d2 = 2.5;
std::cout<<Sum<double>(d0, d1, d2).v()<<std::endl;
int i0 = 3;
int i1 = 4;
int i2 = 5;
std::cout<<Sum(int)(i0, i1, i2).v()<<std::endl;
}
#include <iostream>
template<class T>
class Sum {
T v;//保存加法结果。
public:
Sum(const T& v0, const T& v1, const T& v2) : v(v0 + v1 + v2) {}
const T& v() {return v;} //返回结果。
};
int main()
{
double d0 = 1.;
double d1 = 2.;
double d2 = 2.5;
std::cout<<Sum<double>(d0, d1, d2).v()<<std::endl;
int i0 = 3;
int i1 = 4;
int i2 = 5;
std::cout<<Sum(int)(i0, i1, i2).v()<<std::endl;
}
展开全部
#include <iostream>
#include <conio.h>
template<typename R,typename T=double,typename S=double,typename Q=double>
class Sum {
public:
R const add3(T const& v0,S const& v1, Q const& v2) const
{
return static_cast<R>(v0+v1+v2);
}
};
int main()
{
int d0 = 1;
double d1 = 2.33;
float d2 = 2.5f;
Sum<int> o;
std::cout<<o.add3(d0, d1, d2)<<std::endl;
getch();
}
#include <conio.h>
template<typename R,typename T=double,typename S=double,typename Q=double>
class Sum {
public:
R const add3(T const& v0,S const& v1, Q const& v2) const
{
return static_cast<R>(v0+v1+v2);
}
};
int main()
{
int d0 = 1;
double d1 = 2.33;
float d2 = 2.5f;
Sum<int> o;
std::cout<<o.add3(d0, d1, d2)<<std::endl;
getch();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |