1 #include <iostream>
2 #include <cstring>
3
4 using namespace std;
5
6 class Person
7 {
8 protected:
9 char Name[10];
10 char Sex;
11 int Age;
12 public:
13 void Register(char *name, int age, char sex);
14 void ShowMe();
15 };
16
17 class Teacher:public Person
18 {
19 private:
20 char Dept[20];
21 int Salary;
22 public:
23 Teacher(char *dept, int salary, char *name, char sex, int age);
24 void showme();
25 };
26
27 class Student:public Person
28 {
29 private:
30 char ID[12];
31 char Class[12];
32 public:
33 Student(char *name, int age, char sex, char *id, char *classid);
34 void showme();
35 };
36
37 void Person::Register(char *name,int age,char sex)
38 {
39 strcpy(Name,name);
40 Age=age;
41 Sex=sex;
42 return;
43 }
44
45 void Person::ShowMe()
46 {
47 cout<<"姓名 "<<Name<<endl;
48 if(Sex=='m') cout<<"性别 男"<<endl;
49 else cout<<"性别 女"<<endl;
50 cout<<"年龄 "<<Age<<endl;
51 return;
52 }
53
54 Teacher::Teacher(char *dept, int salary, char *name, char sex, int age)
55 {
56 strcpy(Dept,dept);
57 Salary=salary;
58 Person::Register(name,age,sex);
59 }
60
61 void Teacher::showme()
62 {
63 Person::ShowMe();
64 cout<<"工作单位 "<<Dept<<endl;
65 cout<<"月薪 "<<Salary<<endl;
66 return;
67 }
68
69 Student::Student(char *name, int age, char sex, char *id, char *classid)
70 {
71 Person::Register(name,age,sex);
72 strcpy(ID,id);
73 strcpy(Class,classid);
74 }
75
76 void Student::showme()
77 {
78 cout<<"学号 "<<ID<<endl;
79 Person::ShowMe();
80 cout<<"班级 "<<Class<<endl;
81 return;
82 }
83
84 int main()
85 {
86 char name1[20],name2[20],Dept[20],ID[12],Class[12],Sex1,Sex2;
87 int Salary,Age1,Age2;
88 cin>>name1>>Age1>>Sex1>>Dept>>Salary;
89 cin>>name2>>Age2>>Sex2>>ID>>Class;
90 Teacher one(Dept,Salary,name1,Sex1,Age1);
91 Student two(name2,Age2,Sex2,ID,Class);
92 one.showme();
93 two.showme();
94 return 0;
95 }
来源:oschina
链接:https://my.oschina.net/u/4405841/blog/3338136