C++ 类模版问题
声明一个模板类,类中包含数据数组,类中的成员函数sort完成数据排序的功能。下面是我写的程序,请帮忙看看是什么问题,并说明原因,谢谢#include<iostream>u...
声明一个模板类,类中包含数据数组,类中的成员函数sort完成数据排序的功能。
下面是我写的程序,请帮忙看看是什么问题,并说明原因,谢谢
#include<iostream>
using namespace std;
template<class T>
class compare{
public:
static T a[3];
compare(T a,T b,T c){}
template<class T>
void sort(T a,T b,T c){
T a[]={a,b,c};
T d;
for(int i=0;i<3;i++){
for(int j=0;j<2-i;j++){
if(a[j]>a[j+1]){
d=a[j];
a[j]=a[j+1];
a[j+1]=d;
}
}
} for (int i=0;i<3;i++){
cout<<a[i]<<endl;}
return 0;}
};
int main(){
static double a=3,b=5;
static double c=4.5;
compare<double>::sort(a,b,c);
return 0;} 展开
下面是我写的程序,请帮忙看看是什么问题,并说明原因,谢谢
#include<iostream>
using namespace std;
template<class T>
class compare{
public:
static T a[3];
compare(T a,T b,T c){}
template<class T>
void sort(T a,T b,T c){
T a[]={a,b,c};
T d;
for(int i=0;i<3;i++){
for(int j=0;j<2-i;j++){
if(a[j]>a[j+1]){
d=a[j];
a[j]=a[j+1];
a[j+1]=d;
}
}
} for (int i=0;i<3;i++){
cout<<a[i]<<endl;}
return 0;}
};
int main(){
static double a=3,b=5;
static double c=4.5;
compare<double>::sort(a,b,c);
return 0;} 展开
3个回答
展开全部
#include<iostream>
using namespace std;
template<class T>
class compare{
public:
static T a[3];
compare(T a,T b,T c){}
template<class T>
static void sort(T a,T b,T c){
T e[]={a,b,c};
T d;
int i;
for(i=0;i<3;i++){
for(int j=0;j<2-i;j++){
if(e[j]>e[j+1]){
d=e[j];
e[j]=e[j+1];
e[j+1]=d;
}
}
} for (i=0;i<3;i++){
cout<<e[i]<<endl;}
}
};
int main(){
static double a=3,b=5;
static double c=4.5;
compare<double>::sort(a,b,c);
return 0;}
展开全部
由于void sort()所有就不应该是 return 0.
for (int i=0;i<3;i++){
cout<<a[i]<<endl;}
return 0;}
其次,T a,T b,T c.既然a,b,c是三个变量名字,就不应该定义数组名字为T a[]={a,b,c}.在同一个函数类,尽量不要重名。
for (int i=0;i<3;i++){
cout<<a[i]<<endl;}
return 0;}
其次,T a,T b,T c.既然a,b,c是三个变量名字,就不应该定义数组名字为T a[]={a,b,c}.在同一个函数类,尽量不要重名。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
T a[]={a,b,c}; 这里重名了,换成q[]什么的。
还有这个sort函数不用return 0,因为你是void返回值。这个函数应该前面加个static;还有这个函数前面不用再写template<typename T>了,你类上面已经声明了。
还有这个sort函数不用return 0,因为你是void返回值。这个函数应该前面加个static;还有这个函数前面不用再写template<typename T>了,你类上面已经声明了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询