64,637
社区成员
发帖
与我相关
我的任务
分享
//所有课程的课程总表
class Course;
typedef vector< Course > courseTable;
class Student{
public:
Student( );
explicit Student( int ID, string na, string birthday, string gender, string department, int grade )
: studentID( ID ), name( na ), birthday( birthday ),
gender( gender ), department( department ), grade( grade )
{
/* EmptyBody*/
}
//可按课程名, 课程编号, 教师名三种方式查询课程
virtual void SearchCourseName( const string name, const courseTable &ct ) const;
virtual void SearchCourseID( const int courseID, const courseTable &ct ) const;
virtual void SearchCourseTecr( const string Tecr, const courseTable &ct ) const;
//添加/删除选课函数
virtual void joinCourse( const int courseID, const courseTable ct ) const = 0;
virtual void leaveCourse( const int courseID ) const = 0;
//显示已选课程信息
virtual void showMyCourses( const courseTable &ct ) const = 0;
~Student( ) { /*EmptyBody*/ }
private:
int studentID; //学生ID
string name; //姓名
string birthday; //生日
string gender; //性别
string department; //院系
int grade; //入学年份
};
//本科生
class UndergraduateStu : public Student{
public:
//构造函数
UndergraduateStu( );
explicit UndergraduateStu( int ID, string na, string birthday, string gender, string department,
int grade, int groupID, string tutor )
: Student( ID, na, birthday, gender, department, grade ),
groupID( groupID ), tutor( tutor )
{
/* EmptyBody */
}
////可按课程名, 课程编号, 教师名三种方式查询课程
//virtual void SearchCourseName( const string name, const courseTable &ct ) const;
//virtual void SearchCourseID( const int courseID, const courseTable &ct ) const;
//virtual void SearchCourseTecr( const string Tecr, const courseTable &ct ) const;
//添加、删除选课函数
virtual void joinCourse( const int courseID, const courseTable &ct );
virtual void leaveCourse( const int courseID );
//显示已选课程信息
virtual void showMyCourses( const courseTable &ct );
~UndergraduateStu() { /*EmptyBody*/ }
private:
int groupID; //班号
string tutor; //辅导员
set< int > cours; //该学员已选课程
int totalCredit; //该学员已选课程的总学分
};
UndergraduateStu st; //这样写的时候,VS10 说不能使用抽象类