概述
Problem Description
一个教学系统至少有学生和教师两种类型的人员,假设教师的数据有教师编号、姓名、年龄、性别、职称和系别,学生的数据有学号、姓名、年龄、性别、班级和语文、数学、英语三门课程的成绩。现编程完成学生和教师档案数据的输入和显示。要求如下:
设计三个类Person、Teacher、Student,Person是Teacher和Student的基类,具有此二类共有的数据成员姓名、年龄、性别,并具有输入和显示这些数据的成员函数;Teacher类继承了Person类的功能,并增加对教师编号、职称和系别等数据成员进行输入和显示的成员函数。Student类按同样的方法设计。
根据题意完成下面的程序:
#include <iostream>
using namespace std;
#include <string>
class Person{
private:
string name;
int age;
string sex;
public:
Person(string ="",int =0,string ="");
void inputname(){cin>>name;}
void printname(){cout<<name<<endl;}
void inputage(){cin>>age;}
void printage(){cout<<age<<endl;}
void inputsex(){cin>>sex;}
void printsex(){cout<<sex<<endl;}
};
Person::Person(string Name,int Age,string Sex){name=Name;age=Age;sex=Sex;}
//你的代码将被嵌入在这里
int main(){
Teacher t1,t2("张华",33,"男","T001","讲师","计算机系");
Student s1,s2("李丽",19,"女","S001","0309201",90,92,98);
t1.inputname();
t1.inputage();
s1.inputChinese();
s1.inputname();
t1.printname();
t1.printage();
s1.printname();
s1.printage();
t2.printname();
t2.printage();
s2.printname();
s2.printage();
return 0;
}
Input Description
John
40
90
Mary
Sample Output
John
40
Mary
0
张华
33
李丽
19
解题代码
class Teacher:public Person{
string no,title,dept;
public:
Teacher(){}
Teacher(string name,int age,string sex,string no,string title,string dept):Person(name,age,sex),no(no),title(title),dept(dept){}
};
class Student:public Person{
string no,sno;
double chinese,math,english;
public:
Student(){}
Student(string name,int age,string sex,string no,string sno,double chinese,double math,double english):Person(name,age,sex),no(no),sno(sno),chinese(chinese),math(math),english(english){}
void inputChinese(){cin >> chinese;}
};
最后
以上就是欢呼雨为你收集整理的C++ OJ习题练习(十一)完成学生类和教师类的设计的全部内容,希望文章能够帮你解决C++ OJ习题练习(十一)完成学生类和教师类的设计所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复