![]() |
#2
邓士林2013-04-24 22:39
teacher(char *na,int ag,int se,int po,int sa);你看看你的函数参数是多么的不对应; student(char *na,int ag,int se,char *xh,char *cl);参数都不对应;还有你的Person的大小写有的都错了,我给你修改下:
#include <iostream.h> #include <string.h> class Person { protected: char name[20]; char sex; int age; public: Person(char *na,int ag,char se) { strcpy(name, na); sex= se; age = ag; } void initname(char *na) { strcpy(name, na); } void initsex(char se) { sex=se; } void initage(int ag) { age=ag; } char * getname() { return name; } int getage() { return age; } char getsex() { return sex; } void printf() { cout<<"姓名:"<<name<<endl; cout<<"性别:"<<sex<<endl; cout<<"年龄:"<<age<<endl; } }; class teacher:public Person { char *post; int salary; public: teacher(char *na,int ag,char se,char *po,int sa):Person(na,ag,se) { post=po; salary=sa; } void printf() { Person::printf(); cout<<"职位:"<<post<<endl; cout<<"工资:"<<salary<<endl; } }; class student:public Person { char xuehao[20]; char Class[20]; public: student(char *na,int ag,char se,char *xh,char *cl):Person(na,ag,se) { strcpy(xuehao,xh); strcpy(Class,cl); } printf() { Person::printf(); cout<<"学号:"<<xuehao<<endl; cout<<"班级:"<<Class<<endl; } }; void main() { teacher te("liang",22,'m',"教授",5000); student st("liang",22,'m',"20112111225","11B"); te.printf(); cout<<"__________________"<<endl; st.printf(); } |
#include <iostream.h>
#include <string.h>
class person
{
protected:
char name[10];
int sex;
int age;
public:
Person(char *na,int ag,char se)
{
strcpy(name, na);
sex= se;
age = ag;
}
void initname(char *na)
{
strcpy(name, na);
}
void initsex(int se)
{
sex=se;
}
void initage(int ag)
{
age=ag;
}
char * getname()
{
return name;
}
int getage()
{
return age;
}
int getsex()
{
return sex;
}
void printf()
{
cout<<"姓名:"<<name<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"年龄:"<<age<<endl;
}
};
class teacher:public person
{
char post;
char salary;
public:
teacher(char *na,int ge,int se,char *po,char *sa):person(na,ag,se)
{
strcpy(post,po);
salary(salary,sa);
}
void printf()
{
person::printf();
cout<<"职位:"<<post<<endl;
cout<<"工资:"<<salary<<endl;
}
};
class student:public person
{
char xuehao[10];
char Class[10];
public:
student(char *na,int ag,int se,char *xh,char *cl):person(na,ag,se)
{
strcoy(xuehao,xh);
strcpy(Class,cl);
}
printf()
{
person::printf();
cout<<"学号:"<<xuehao<<endl;
cout<<"班级:"<<Class<<ensl;
}
};
void main()
{
teacher te("梁朝斌",22,男,"大学","5000");
student st("梁朝斌",22,男,"20112111225","11B");
te.printf();
cout<<"__________________"<<endl;
st.printf();
}