error C2440: 'initializing' : cannot convert from 'char' to 'class BUS' 是有关二位字符数组的输入
c++中一个类里面我定义了一个stop成员,他是一个charstop[10][20]的二维数组,可是在初始化的时候出现上述错误,求解啊!!!哭求解答啊!!!跪求啊!!!c...
c++中一个类里面我定义了一个stop成员,他是一个char stop[10][20]的二维数组,可是在初始化的时候出现上述错误,求解啊!!!哭求解答啊!!!跪求啊!!!
class SBUS{
protected:
double price;
char style[30];
public :
SBUS (){
price=0.0;
style[0]='\0';
}
SBUS (float Price,char Style[]){
price=Price;
strcpy(style,Style);
}
~SBUS(){}
}; //定义了车价和车类型的基类
class BUS:public SBUS{
int no;
char stop[10][20];
int start;
int end;
public :
BUS(){
no=0;
stop[0][0]='\0'; //待定
start=0;
end=0;
}
BUS(int No,double Price,int Start,int End,char Style[],char Stop[10][20]){
price=Price;
strcpy(style,Style);
no=No;
int i;
for(i=0;i<10;i++)
strcpy(stop[i],Stop[i]);
start=Start;
end=End;
}
void Sno(int No){
no=No;
}
void Sprice(double Price){
price=Price;
}
void Sstyle(char Style[]){
strcpy(style,Style);
}
void Sstop(char Stop[30][20]){
int i;
for(i=0;i<30;i++)
strcpy(stop[i],Stop[i]);
}
void Sstart(int Start){
start=Start;
}
void Send(int End){
end=End;
}
double Gprice(){
return price;
}
char * Gstyle(){
return style;
}
int Gno(){
return no;
}
char * Gstop(){
return stop[0];
}
int Gstart(){
return start;
}
int Gend(){
return end;
}
void showT(){
cout<<setw(6)<<"车号"<<setw(6)<<"价格"<<setw(6)<<"首发时间"<<setw(6)<<"末班时间"<<setw(6)<<"车型"<<endl;
cout<<setw(6)<<Gno()<<setw(6)<<Gprice()<<setw(6)<<Gstart()<<setw(6)<<Gend()<<setw(6)<<Gstyle()<<endl;
cout<<"车站"<<':';
cout<<Gstop()<<endl;
}
}; //派生出公交类
char ST0[10][20]={{"鲁巷"} ,{"吴家湾"}, {"卓刀泉"}, {"广埠屯"} ,{"街道口"}, {"鲶鱼套"}};
char ST1[10][20]={{"森林公园"} ,{"关山口"}, {"卓刀泉"}, {"新屋熊"} ,{"鲁巷 "}, {" 武昌火车站东广场"}};
char ST2[10][20]={{"关山一路"} ,{"关山口"}, {"新屋熊"}, {"卓刀泉"} ,{" 广埠屯"}, {"汉阳门"}};
BUS bus[20]={
(510,2,640,2120,"普通",ST0),
(518,2,610,1950,"普通",ST1),
(521,2,615,2220,"普通",ST2),
};
我试了各种参数的书写方式有提示类似的不能输入类中,是不是构造函数除了问题啊?请各位大侠支招啊!!!这是我们的期末作业~跪求各位帮忙啊!!!
希望大侠能够稍微把改动后的那地方得代码写给我看看,谢谢了~我对二位字符数组的韩式使用不是很会……哭求了啊!!! 展开
class SBUS{
protected:
double price;
char style[30];
public :
SBUS (){
price=0.0;
style[0]='\0';
}
SBUS (float Price,char Style[]){
price=Price;
strcpy(style,Style);
}
~SBUS(){}
}; //定义了车价和车类型的基类
class BUS:public SBUS{
int no;
char stop[10][20];
int start;
int end;
public :
BUS(){
no=0;
stop[0][0]='\0'; //待定
start=0;
end=0;
}
BUS(int No,double Price,int Start,int End,char Style[],char Stop[10][20]){
price=Price;
strcpy(style,Style);
no=No;
int i;
for(i=0;i<10;i++)
strcpy(stop[i],Stop[i]);
start=Start;
end=End;
}
void Sno(int No){
no=No;
}
void Sprice(double Price){
price=Price;
}
void Sstyle(char Style[]){
strcpy(style,Style);
}
void Sstop(char Stop[30][20]){
int i;
for(i=0;i<30;i++)
strcpy(stop[i],Stop[i]);
}
void Sstart(int Start){
start=Start;
}
void Send(int End){
end=End;
}
double Gprice(){
return price;
}
char * Gstyle(){
return style;
}
int Gno(){
return no;
}
char * Gstop(){
return stop[0];
}
int Gstart(){
return start;
}
int Gend(){
return end;
}
void showT(){
cout<<setw(6)<<"车号"<<setw(6)<<"价格"<<setw(6)<<"首发时间"<<setw(6)<<"末班时间"<<setw(6)<<"车型"<<endl;
cout<<setw(6)<<Gno()<<setw(6)<<Gprice()<<setw(6)<<Gstart()<<setw(6)<<Gend()<<setw(6)<<Gstyle()<<endl;
cout<<"车站"<<':';
cout<<Gstop()<<endl;
}
}; //派生出公交类
char ST0[10][20]={{"鲁巷"} ,{"吴家湾"}, {"卓刀泉"}, {"广埠屯"} ,{"街道口"}, {"鲶鱼套"}};
char ST1[10][20]={{"森林公园"} ,{"关山口"}, {"卓刀泉"}, {"新屋熊"} ,{"鲁巷 "}, {" 武昌火车站东广场"}};
char ST2[10][20]={{"关山一路"} ,{"关山口"}, {"新屋熊"}, {"卓刀泉"} ,{" 广埠屯"}, {"汉阳门"}};
BUS bus[20]={
(510,2,640,2120,"普通",ST0),
(518,2,610,1950,"普通",ST1),
(521,2,615,2220,"普通",ST2),
};
我试了各种参数的书写方式有提示类似的不能输入类中,是不是构造函数除了问题啊?请各位大侠支招啊!!!这是我们的期末作业~跪求各位帮忙啊!!!
希望大侠能够稍微把改动后的那地方得代码写给我看看,谢谢了~我对二位字符数组的韩式使用不是很会……哭求了啊!!! 展开
2个回答
展开全部
char ST0[10][20]={{"鲁巷"} ,{"吴家湾"}, {"卓刀泉"}, {"广埠屯"} ,{"街道口"}, {"鲶鱼套"}};
char ST1[10][20]={{"森林公园"} ,{"关山口"}, {"卓刀泉"}, {"新屋熊"} ,{"鲁巷 "}, {" 武昌火车站东广场"}};
char ST2[10][20]={{"关山一路"} ,{"关山口"}, {"新屋熊"}, {"卓刀泉"} ,{" 广埠屯"}, {"汉阳门"}};
BUS bus[20]={ //不能这样初始化类
(510,2,640,2120,"普通",ST0),
(518,2,610,1950,"普通",ST1),
(521,2,615,2220,"普通",ST2),
};
以上这些变量是要作为全局变量么?否则最好放到main函数里
类的初始化不能像你那样初始化,应该:
BUS bus[20]={
BUS(510,2,640,2120,"普通",ST0),
BUS(518,2,610,1950,"普通",ST1),
BUS(521,2,615,2220,"普通",ST2)
};这样之后编译通过
用以下main函数测试也可以正确显示:
int main()
{
bus[0].showT();
return 0;
}
char ST1[10][20]={{"森林公园"} ,{"关山口"}, {"卓刀泉"}, {"新屋熊"} ,{"鲁巷 "}, {" 武昌火车站东广场"}};
char ST2[10][20]={{"关山一路"} ,{"关山口"}, {"新屋熊"}, {"卓刀泉"} ,{" 广埠屯"}, {"汉阳门"}};
BUS bus[20]={ //不能这样初始化类
(510,2,640,2120,"普通",ST0),
(518,2,610,1950,"普通",ST1),
(521,2,615,2220,"普通",ST2),
};
以上这些变量是要作为全局变量么?否则最好放到main函数里
类的初始化不能像你那样初始化,应该:
BUS bus[20]={
BUS(510,2,640,2120,"普通",ST0),
BUS(518,2,610,1950,"普通",ST1),
BUS(521,2,615,2220,"普通",ST2)
};这样之后编译通过
用以下main函数测试也可以正确显示:
int main()
{
bus[0].showT();
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询