#include <iostream> #include <string> using namespace std; class Teacher { public: Teacher(string, int, char, string, int, string); void display(); protected: string name; int age; char sex; string addr; int tel; string title; }; Teacher::Teacher(string nam, int a, char s, string ad, int te, string tit) { name=nam; age=a; sex=s; addr=ad; tel=te; title=tit; } void Teacher::display() { cout<<"name: "<<name<<endl; cout<<"age: "<<age<<endl; cout<<"sex: "<<sex<<endl; cout<<"title: "<<title<<endl; cout<<"address: "<<addr<<endl; cout<<"tel: "<<tel<<endl; } class Cadre { public: Cadre(string, int, char, string, int, string); void display1(); protected: string name; int age; char sex; string addr; int tel; string post; }; Cadre::Cadre(string nam, int a, char s, string ad, int te, string po) { name=nam; age=a; sex=s; addr=ad; tel=te; post=po; } void Cadre::display1() { cout<<"name: "<<name<<endl; cout<<"age: "<<age<<endl; cout<<"sex: "<<sex<<endl; cout<<"address: "<<addr<<endl; cout<<"tel: "<<tel<<endl; cout<<"post: "<<post<<endl; } class Teacher_Cadre: public Teacher, public Cadre { public: Teacher_Cadre::Teacher_Cadre(string nam, int a, char s, string ad, int te, string tit, string po, double w): Teacher(nam, a, s, ad, te, tit), Cadre(nam, a, s, ad, te, po), wage(w){} void show(); private: double wage; }; void Teacher_Cadre::show() { Teacher::display(); cout<<"post: "<<Cadre::post<<endl; cout<<"wage: "<<wage<<endl; }; int main() { Teacher_Cadre person("ZhangLei", 23, 'M', "Beijing", 87891611, "professor", "assitant", 8981.4); person.show(); system("pause"); return 0; } 给这串代码做个流程图
时间: 2024-02-23 12:56:35 浏览: 177
抱歉,作为语言模型,我无法生成流程图。但我可以为您解释一下代码的执行过程。
1. 首先定义了一个Teacher类和一个Cadre类,分别表示教师和干部,两个类都有公共的数据成员name, age, sex, addr, tel,分别表示姓名、年龄、性别、地址和电话号码。
2. Teacher类中增加了数据成员title,表示职称,Cadre类中增加了数据成员post,表示职务。
3. Teacher类中增加了display函数,用于输出教师的信息;Cadre类中增加了display1函数,用于输出干部的信息。
4. 定义一个Teacher_Cadre类,继承自Teacher和Cadre类,表示既是教师又是干部的人员。在Teacher_Cadre类中增加了数据成员wage,表示工资。
5. 在Teacher_Cadre类的构造函数中,分别调用Teacher类和Cadre类的构造函数,初始化数据成员。注意,在调用Cadre类的构造函数时,传递的参数中只传递了name, age, sex, addr, tel和post,因为这些数据成员在Teacher类中已经初始化过了。
6. 在Teacher_Cadre类中增加了show函数,用于输出既是教师又是干部的人员的信息。在show函数中,先调用Teacher类的display函数输出教师的信息,然后输出干部的职务post和工资wage。
7. 在主函数中,定义了一个Teacher_Cadre对象person,初始化时传递了姓名、年龄、性别、地址、电话号码、职称、职务和工资等参数。
8. 调用person对象的show函数输出信息,最后暂停程序等待用户操作。
阅读全文