1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
| #include <iostream> #include <string> using namespace std; //定义类 class Person { protected: string Number; string Name; string Gender; public: //构造函数 Person() {
} //构造函数 Person(string nu,string na,string ge) { this->Number=nu; this->Name=na; this->Gender=ge; } //输入函数 void input() { cin >> this->Name; cin >> this->Number; cin >> this->Gender; } //输出函数 void output() { cout << "编号:" << this->Number << endl; cout << "姓名:" << this->Name << endl; cout << "性别:" << this->Gender << endl; } //运算符重载 Person operator+(Person p) { Person newPerson; newPerson.Number = this->Number + p.Number; newPerson.Name = this->Name + p.Name; newPerson.Gender = this->Gender + p.Gender; return newPerson; } }; //学生类 class Student :public Person { private: float results; public: //构造函数 Student() { this->results = 0; } //输入函数 void input() { cout << "请输入学号,姓名,成绩:"; Person::input(); cin >> this->results; } //输出函数 void output() { Person::output(); cout << "成绩:" << results <<endl; } }; //教师类 class Teacher :public Person { private: int age; public: //输入函数 void input() { cout << "请输入学号,姓名,成绩,教龄:"; Person::input(); cin >> this->age; } //输出函数 void output() { Person::output(); cout << "教龄:" << age <<endl; } }; //主函数 void main() { //基类 Person p1("A0001","张三","男"),p2("A002","李四","女"),p3; p1.output(); //运算符重载 p3 = p1 + p2; p3.output(); //学生类 Student s1; s1.input(); s1.output(); //教师类 //Teacher t1; //t1.input(); //t1.output();
} |