就是本应该输入职称、职务、工资后会按照输入的输出,但是运行后职称和职务不按照之前输入的输出。。。IDE是CODEBLOCK,我写的代码如下:
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
class Teacher
{
public:
char zhicheng[100];
Teacher(char *i_zhicheng)
{
strcpy(zhicheng,i_zhicheng);
}
};
class Level
{
public:
char zhiwu[100];
Level(char *i_zhiwu)
{
strcpy(zhiwu,i_zhiwu);
}
};
class Teacher_Level:public Teacher,public Level
{
public:
double gongzi;
Teacher_Level(char *p,char *q,double i_gongzi):Teacher(p),Level(q)
{
gongzi=i_gongzi;
}
void Show()
{
cout<<"职称为:"<<zhicheng[100]<<endl;
cout<<"职务为:"<<zhiwu[100]<<endl;
cout<<"工资为:"<<gongzi<<endl;
}
};
int main()
{
char a[100];
char b[100];
double c;
cout<<"请输入职称。"<<endl;
gets(a);
cout<<"请输入职务。"<<endl;
gets(b);
cout<<"请输入工资。"<<endl;
cin>>c;
Teacher_Level s(a,b,c);
s.Show();
return 0;
}
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
class Teacher
{
public:
char zhicheng[100];
Teacher(char *i_zhicheng)
{
strcpy(zhicheng,i_zhicheng);
}
};
class Level
{
public:
char zhiwu[100];
Level(char *i_zhiwu)
{
strcpy(zhiwu,i_zhiwu);
}
};
class Teacher_Level:public Teacher,public Level
{
public:
double gongzi;
Teacher_Level(char *p,char *q,double i_gongzi):Teacher(p),Level(q)
{
gongzi=i_gongzi;
}
void Show()
{
cout<<"职称为:"<<zhicheng[100]<<endl;
cout<<"职务为:"<<zhiwu[100]<<endl;
cout<<"工资为:"<<gongzi<<endl;
}
};
int main()
{
char a[100];
char b[100];
double c;
cout<<"请输入职称。"<<endl;
gets(a);
cout<<"请输入职务。"<<endl;
gets(b);
cout<<"请输入工资。"<<endl;
cin>>c;
Teacher_Level s(a,b,c);
s.Show();
return 0;
}