日喀则2016招标公告:C++考试试题 关于虚函数!Help me~~

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/01 10:46:07
设计一个类结构,父类Cperson描述一般的人-,具有名字、性别(枚举类型)、年龄等属性。两个子类分别为Cstudent和Cteacher两个类,Cstudent中有学号和各科成绩(由类Score来定义,包括语文、数字成绩)等属性;Cstudent类中有工资、教程课程(只讲授一门课)。要求:
1)编码实现以上4个类,补充必要的存取数据成员的 函数;
2)以虚函数来显示各个类的信息;
3)编程测试这些类。

帮帮忙,谢谢了
24时内评出最佳啊,急!谢谢!

#include<string.h>
enum SSex{MALE=0,FEMALE=1};

class score
{
public:
score(int scorechinese,int scoremaths);
virtual ~score();
score(score& s); //拷贝构造函数,用于CStudent类的构造函数
private:
int chinese,maths;
};
score::score(int scorechinese,int scoremaths)
{
chinese=scorechinese;
maths=scoremaths;
}
score::~score()
{
;
}
score::score(score& s)
{
chinese=s.chinese;
maths=s.maths;
}

class CPerson
{
public:
CPerson(char *n,SSex s,int a);
virtual ~CPerson();
protected:
char *name;
int age;
SSex sex;
};
CPerson::CPerson(char *n,SSex s,int a)
{
name=new char[strlen(n)+1];
strcpy(name,n);
sex=s;
age=a;
}
CPerson::~CPerson()
{
delete[] name;
}

class CStudent:CPerson
{
public:
CStudent(char *n,SSex s,int a,int ID,score t);
virtual ~CStudent();
protected:
int id;
score stuscore;
};
CStudent::CStudent(char *n,SSex s,int a,int ID,score t):CPerson(n,s,a),stuscore(t)
{
id=ID;
}
CStudent::~CStudent()
{
;
}

class CTeacher:CPerson
{
public:
CTeacher(char *n,SSex s,int a,double m,char* c);
virtual ~CTeacher();
protected:
double salary;
char* course;
};
CTeacher::CTeacher(char *n,SSex s,int a,double m,char* c):CPerson(n,s,a)
{
salary=m;
course=new char[strlen(c)+1];
strcpy(course,c);
}
CTeacher::~CTeacher()
{
delete[] course;
}