One, problem and code
/* File name: Teacher Cadre class. cpp Author: Tang Junpeng Date: 2016.5.6 platform: Visual C + + 6.0 project name: Teacher Cadre class problem details: Define teacher (Teacher) class and CAD respectively Re (cadre) class, using multiple inheritance method from these two classes derived from the new class Teacher_cadre (teachers and cadres). Requirements: (1) The names, age, gender and other data members are included in the two base classes. (2) The teacher class also contains the data member title (title), which also contains the data member post (title) in the Cadre class, and the data member wages (payroll) in the Teacher_cadre class. (3) The name, age, gender and other data members in the two base classes are given the same name, specifying the scope when referencing the data members. (4) Declare member functions in the class body, and define member functions outside the class. (5) In the member function of the derived class Teacher_cadre, call the display function in the teacher class, output the name, age, gender, title, and then use the cout statement to output the job and salary. The code is as follows: */#include <iostream> #include <string>using namespace Std;class teacher{public:teacher (strin g,int,string,string); void display ();p rivate:string name;int age;string sex;string title;}; Teacher::teacher (String na,int a,string s,string ti) {name=na;age=a;sex=s;title=ti;} void Teacher::d isplay () {cout<< "Name:" <<name<<endl;cout<< "Age:" <<age<<endl;cout << "Gender:" <<sex<<endl;cout<< "title:" <<title<<endl;} Class Cadre{public:cadre (String), String Get_post ();p rivate:string nAme;int age;string sex;string Post;}; Cadre::cadre (String p) {post=p;} String Cadre::get_post () {return post;} Class Teacher_cadre:public Teacher,public Cadre{public:teacher_cadre (String, int, string, string, string, float); void Show (); float get_wages ();p rivate:float wages;}; Teacher_cadre::teacher_cadre (String na,int a,string s,string ti,string p,float W): Teacher (Na,a,s,ti), Cadre (p) {wages= W;} void Teacher_cadre::show () {Teacher::d isplay ();} Float Teacher_cadre::get_wages () {return wages;} int main () {Teacher_cadre T ("Zeng Hui", 42, "male", "Associate Professor", "director", 1535.5); T.show ();cout<< "title:" <<t.cadre::get_post () <<endl;cout<< "Wages:" <<t.get_wages () < <endl;return 0;}
Second, the results of the operation
Third, experience
this time again learned Multiple-Inheritance Related Applications
Iv. Summary of Knowledge points
Multiple inheritance is a subclass that inherits multiple base classes, and note that constructors sometimes have to be called in the form of parameters to initialize the list, the base class, and the function of the derived class.
C + + experimental 5--Project 2: Teacher cadre category