求错误修正
#include <iostream>
using namespace std;
class date
{
public:
date() {}
void SetDay(int d){day=d;}
void SetMonth(int m){month = m;}
void SetYear(int y){year = y;}
void showdate();
private:
int year,month,day;
};
void date::showdate()
{
cout<<year<<"-"<<month<<"-"<<day<<endl;
}
class people
{
private:
char name[11];
char number[7];
char sex[3];
char id[16];
date d;
public:
people() {}
people(people &p);
~people() {}
void setname(char *);
void setnumber(char *);
void setsex(char *);
void setid(char *);
void setbirthday(date );
char *getname();
char *getnumber();
char *getsex();
char *getid();
void getbirthday();
void showpeople();
};
people::people(people &p):d(p.d)
{
strcpy(name,p.name);
strcpy(number,p.number);
strcpy(sex,p.sex);
strcpy(id,p.id);
}
void people::setname(char *newna)
{strcpy(name,newna);}
void people::setnumber(char *newno)
{strcpy(number,newno);}
void people::setsex(char *news)
{strcpy(sex,news);}
void people::setid(char *newid)
{strcpy(id,newid);}
void people::setbirthday (date d1)
{d=d1;}
char *people::getname (){return name;}
char *people::getnumber (){return number;}
char *people::getsex (){return sex;}
char *people::getid (){return id;}
void people::getbirthday (){d.showdate();}
class student : virtual public people
{
private:
char classno[7];
public:
student() {}
student(student &p);
~student() {}
void setclassno(char *);
void getclassno();
};
student::student(student &p)
{
strcpy(classno,p.classno);
}
void student::setclassno(char *newclassno)
{strcpy(classno,newclassno);}
char *student::getclassno (){return classno;}
class teacher : virtual public people
{
private:
char principalship[11];
char department[21];
public:
teacher() {}
~teacher() {}
void setprincipalship(char *);
void setdepartment(char *);
void getprincipalship();
void getdepartment();
};
void teacher::setprincipalship(char *newprincipalship)
{strcpy(principalship,newprincipalship);}
void teacher::setdepartment(char *newdepartment)
{strcpy(department,newdepartment);}
char *teacher::getprincipalship (){return principalship;}
char *teacher::getdepartment (){return department;}
class graduate : virtual public student
{
private:
char subject[21];
char teacheradviser[21];
public:
graduate(){}
~graduate(){}
void setsubject(char *);
void setteacheradviser(char *);
void getsubject();
void getteacheradviser();
};
void graduate::setsubject(char *newsubject)
{strcpy(subject,newsubject);}
void graduate::setteacheradviser(char *newta)
{strcpy(teacheradviser,newta);}
char *graduate::getsubject (){return subject;}
char *graduate::getteacheradviser (){return teacheradviser;}
class TA : public graduate,public teacher
{
public:
TA(){};
~TA(){};
};
#include "lab7_4.h"
void main()
{
char name[11];
char number[7];
char sex[3];
char id[16];
char classno[7];
char principalship[11];
char department[21];
char subject[21];
char teacheradviser[21];
TA a
cout<<"请输入人员编号:";
cin>>number;
a.setnumber(number);
cout<<"请输入人员姓名:";
cin>>name;
a.setname(name);
cout<<"请输入人员性别:";
cin>>sex;
a.setsex(sex);
cout<<"请输入人员id:";
cin>>id;
a.setid(id);
cout<<"请输入人员classno:";
cin>>classno;
a.setclassno(classno);
cout<<"请输入人员principalship:";
cin>>principalship;
a.setprincipalship(principalship);
cout<<"请输入人员department:";
cin>>department;
a.setdepartment(department);
cout<<"请输入人员subject:";
cin>>subject;
a.setsubject(subject);
cout<<"请输入人员teacheradviser:";
cin>>teacheradviser;
a.setteacheradviser(teacheradviser);
cout<<a.getname ()<<"\t"<<a.getnumber ()<<"\t"<<a.sex ()<<"\t"<<
a.getid ()<<"\t"<<a.getclassno ()<<"\t"<<a.getprincipalship ()<<"\t"<<
a.getdepartment ()<<"\t"<<a.getsubject ()<<"\t"<<a.teacheradviser ()<<"\t"<<
}
[解决办法]
- C/C++ code
class date{public: date() {} void SetDay(int d){day=d;} void SetMonth(int m){month = m;} void SetYear(int y){year = y;} void showdate();private: int year,month,day;};void date::showdate(){ cout<<year<<"-"<<month<<"-"<<day<<endl;}class people{private: char name[11]; char number[7]; char sex[3]; char id[16]; date d;public: people() {} people(people &p); ~people() {} void setname(char *); void setnumber(char *); void setsex(char *); void setid(char *); void setbirthday(date ); char *getname(); char *getnumber(); char *getsex(); char *getid(); void getbirthday(); void showpeople();};people::people(people &p):d(p.d){ strcpy(name,p.name); strcpy(number,p.number); strcpy(sex,p.sex); strcpy(id,p.id);}void people::setname(char *newna){strcpy(name,newna);}void people::setnumber(char *newno){strcpy(number,newno);}void people::setsex(char *news){strcpy(sex,news);}void people::setid(char *newid){strcpy(id,newid);}void people::setbirthday (date d1){d=d1;}char *people::getname (){return name;}char *people::getnumber (){return number;}char *people::getsex (){return sex;}char *people::getid (){return id;}void people::getbirthday (){d.showdate();}class student : virtual public people{private: char classno[7];public: student() {} student(student &p); ~student() {} void setclassno(char *); char * getclassno();};student::student(student &p){ strcpy(classno,p.classno);}void student::setclassno(char *newclassno){strcpy(classno,newclassno);}char *student::getclassno (){return classno;}class teacher : virtual public people{private: char principalship[11]; char department[21];public: teacher() {} ~teacher() {} void setprincipalship(char *); void setdepartment(char *); char * getprincipalship(); char * getdepartment();};void teacher::setprincipalship(char *newprincipalship){strcpy(principalship,newprincipalship);}void teacher::setdepartment(char *newdepartment){strcpy(department,newdepartment);}char *teacher::getprincipalship(){return principalship;}char *teacher::getdepartment(){return department;}class graduate : virtual public student{private: char subject[21]; char teacheradviser[21];public: graduate(){} ~graduate(){} void setsubject(char *); void setteacheradviser(char *); char * getsubject(); char * getteacheradviser();};void graduate::setsubject(char *newsubject){strcpy(subject,newsubject);}void graduate::setteacheradviser(char *newta){strcpy(teacheradviser,newta);}char *graduate::getsubject (){return subject;}char *graduate::getteacheradviser (){return teacheradviser;}class TA : public graduate,public teacher{public: TA(){}; ~TA(){};};//#include "lab7_4.h"void main(){ char name[11]; char number[7]; char sex[3]; char id[16]; char classno[7]; char principalship[11]; char department[21]; char subject[21]; char teacheradviser[21]; TA a; cout<<"请输入人员编号:"; cin>>number; a.setnumber(number); cout<<"请输入人员姓名:"; cin>>name; a.setname(name); cout<<"请输入人员性别:"; cin>>sex; a.setsex(sex); cout<<"请输入人员id:"; cin>>id; a.setid(id); cout<<"请输入人员classno:"; cin>>classno; a.setclassno(classno); cout<<"请输入人员principalship:"; cin>>principalship; a.setprincipalship(principalship); cout<<"请输入人员department:"; cin>>department; a.setdepartment(department); cout<<"请输入人员subject:"; cin>>subject; a.setsubject(subject); cout<<"请输入人员teacheradviser:"; cin>>teacheradviser; a.setteacheradviser(teacheradviser); cout<<a.getname()<<"\t"<<a.getnumber()<<"\t"<<a.getsex()<<"\t"<< a.getid ()<<"\t"<<a.getclassno()<<"\t"<<a.getprincipalship()<<"\t"<< a.getdepartment()<<"\t"<<a.getsubject()<<"\t"<<a.getteacheradviser()<<"\t"<<endl;}