Person人类有姓名、性别和年龄属性有吃饭和行走的方法;Student学生类是人 类的子类增加了学号和班级属性有上课和考试的方法。Person人类有姓名、性别和年龄属性有吃饭和行走的方法;Student学生类是人类中的一种学生类特有分数属性和学习、考试方法;Teacher老师类也是人类中的一种老师类特有的成员有工资属性和讲课方法;Assistant助教既是学生类中的一种也是老师类中的一种。写一个
#include
class Person { protected: string name; string gender; int age; public: Person(string n, string g, int a) { name = n; gender = g; age = a; } void eat() { cout << name << " is eating." << endl; } void walk() { cout << name << " is walking." << endl; } };
class Student : public Person { private: int studentID; string className; public: Student(string n, string g, int a, int id, string cn) : Person(n, g, a) { studentID = id; className = cn; } void study() { cout << name << " is studying." << endl; } void exam() { cout << name << " is taking an exam." << endl; } };
class Teacher : public Person { private: int salary; public: Teacher(string n, string g, int a, int s) : Person(n, g, a) { salary = s; } void teach() { cout << name << " is teaching." << endl; } };
class Assistant : public Student, public Teacher { public: Assistant(string n, string g, int a, int id, string cn, int s) : Student(n, g, a, id, cn), Teacher(n, g, a, s) {} };
int main() { Student s("Tom", "Male", 18, 123456, "Class A"); s.eat(); s.walk(); s.study(); s.exam();
Teacher t("Amy", "Female", 35, 5000);
t.eat();
t.walk();
t.teach();
Assistant a("Jack", "Male", 22, 654321, "Class B", 3000);
a.eat();
a.walk();
a.study();
a.exam();
a.teach();
return 0;
原文地址: https://www.cveoy.top/t/topic/cvJD 著作权归作者所有。请勿转载和采集!