
一个C++程序,类的继承与派生
某大学招收专科生、本科生、研究生若干名。所有学生必须登记学号,姓名,性别,出生日期,身高和体重。本科生和专科生须填写高考总成绩和专业代码,其中研究生还要单独填写研究生须填...
某大学招收专科生、本科生、研究生若干名。所有学生必须登记学号,姓名,性别,出生日期,身高和体重。本科生和专科生须填写高考总成绩和专业代码,其中研究生还要单独填写研究生须填写的面试成绩(5分制,A--E代表)和其选择的导师姓名。
编写一个程序,完成如下功能:
1、为每个新手登记个人信息。
2、根据指定的信息删除已经存在的学生信息。
3、显示已经存在的学生信息。
注意:输入、删除、显示信息时,应对不同类型的学生加以区别。要求定义一个学生类为基类,每种类型的学生类都在此基类上进行继承和派生。 展开
编写一个程序,完成如下功能:
1、为每个新手登记个人信息。
2、根据指定的信息删除已经存在的学生信息。
3、显示已经存在的学生信息。
注意:输入、删除、显示信息时,应对不同类型的学生加以区别。要求定义一个学生类为基类,每种类型的学生类都在此基类上进行继承和派生。 展开
展开全部
#include <STRING>
class Student
{
Student();
virtual ~Student();
public:
virtual void AddStudent(Student tmpStudent);//具体实现、参数,自己加吧
virtual void DeleteStudent(int student_num);//参数可以为一个学号,数据应该存在数据库或者文件,删除时,根据键值查找
virtual void DisplayAll();//显示所有学生信息
virtual void DisplayAll(int student_num);//显示指定学生信息
private:
int number;
string name;
char sex;
time_t birthday;//或者自定义一个日期类
int stature; //身高 也许用height、weight更直观
float avoirdupois; //体重
char type; //学生类型
};
class AcademyStudent : Student
{
public:
virtual void AddStudent(AcademyStudent tmpStudent);//在具体实现中,操作对象改为专科生
virtual void DeleteStudent(int student_num);
virtual void DisplayAll();
virtual void DisplayAll(int student_num);
private:
int score; //高考成绩
int majorCode; //专业代码
};
class UndergraduateStudent : Student
{
public:
virtual void AddStudent(UndergraduateStudent tmpStudent);//在具体实现中,操作对象改为本科生
virtual void DeleteStudent(int student_num);
virtual void DisplayAll();
virtual void DisplayAll(int student_num);
private:
int score; //高考成绩
int majorCode; //专业代码
};
class GraduateStudent : Student
{
public:
virtual void AddStudent(GraduateStudent tmpStudent);//在具体实现中,操作对象改为研究生
virtual void DeleteStudent(int student_num);
virtual void DisplayAll();
virtual void DisplayAll(int student_num);
private:
char oralScore; //高考成绩
string mentorName; //导师姓名
};
class Student
{
Student();
virtual ~Student();
public:
virtual void AddStudent(Student tmpStudent);//具体实现、参数,自己加吧
virtual void DeleteStudent(int student_num);//参数可以为一个学号,数据应该存在数据库或者文件,删除时,根据键值查找
virtual void DisplayAll();//显示所有学生信息
virtual void DisplayAll(int student_num);//显示指定学生信息
private:
int number;
string name;
char sex;
time_t birthday;//或者自定义一个日期类
int stature; //身高 也许用height、weight更直观
float avoirdupois; //体重
char type; //学生类型
};
class AcademyStudent : Student
{
public:
virtual void AddStudent(AcademyStudent tmpStudent);//在具体实现中,操作对象改为专科生
virtual void DeleteStudent(int student_num);
virtual void DisplayAll();
virtual void DisplayAll(int student_num);
private:
int score; //高考成绩
int majorCode; //专业代码
};
class UndergraduateStudent : Student
{
public:
virtual void AddStudent(UndergraduateStudent tmpStudent);//在具体实现中,操作对象改为本科生
virtual void DeleteStudent(int student_num);
virtual void DisplayAll();
virtual void DisplayAll(int student_num);
private:
int score; //高考成绩
int majorCode; //专业代码
};
class GraduateStudent : Student
{
public:
virtual void AddStudent(GraduateStudent tmpStudent);//在具体实现中,操作对象改为研究生
virtual void DeleteStudent(int student_num);
virtual void DisplayAll();
virtual void DisplayAll(int student_num);
private:
char oralScore; //高考成绩
string mentorName; //导师姓名
};
追问
没有main函数,这个程序有些地方运行有问题。我不太会改
追答
这些,只是基本的类成员和函数定义,意思正确、但细节你得自己补充、修改。
总得自己写的,要不永远不会。
还有最后那个高考成绩,应该是面试成绩。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询