c++控制台应用程序

来源:百度知道 编辑:UC知道 时间:2024/05/08 14:44:51
设计一个控制台应用程序XXXPersion,其中包含一个描述人的抽象类PersionClass,利用继承的方式派生学生类StudentClass,教师类TeacherClass和歌手类SingerClass等,在PersionClass类中要有必要的数据如:姓名、性别、年龄等,在派生类StudentClass中要有所在学校等与学生有关的数据的描述;在TeacherClass类中要有职称等与教师有关的相关数据的描述,在SingerClass中要有住址、身高等与歌手有关的数据的描述。总的要求:要有必要的获得数据的手段,如获得学生、教师或歌手的姓名、性别、年龄,学生所在的学校、教师的职称、歌手的住址等,尽量将题目设计完整,功能完善,同时设计测试类对所设计的类及包含的功能进行测试。
评分标准:
1. 正确合理设计PersionClass类 10分
2. 正确使用继承设计StudentClass类 10分
3. 正确使用继承设计TeacherClass类 10分
4. 正确使用继承设计SingerClass类 10分
5. 能够正确设计测试类并进行合理测试 10分
6. 程序整体效果及运行 10分
学校的一次模拟,大家帮帮忙,对了,后面的题目的分数!!

#include <stdio.h>
#include <iostream>

using namespace std;

class XXXPerson{
public:
char name[20]; //姓名
char sex[2]; //性别
int age; //年龄
public:
XXXPerson(){
memset(name, 0, 20);
memset(sex, 0,2);
age = 0;
}
XXXPerson(char n[], char s[], int i){
strcpy(name, n);
strcpy(sex, s);
age = i;
}
virtual void displayInfo(){
cout << "Person--> name: "<<name << "\t sex: " << sex << "\t age: " << age <<"." << endl;
}
};

class StudentClass:public XXXPerson{
public:
char school[50]; //所在学校
char otherinfo[200]; //其它信息
public:
StudentClass(char n[], char s[], int age, char sch[], char oi[]){
strcpy(name, n);
strcpy(sex, s);
this->age = age;
strcpy(school, sch);
st