《高级语言C++程序设计》教材PPT教学课件(第二版)第八章 继承与派生

高级语言C++程序设计 (第二版) 刘景、周玉龙編
高级语言C++程序设计 (第二版) 刘景、周玉龙编

第八章继承与派生 ■81公司雇员档案的管理 分析:由于对不同的雇员,其档案保存的内容不同,所以可以定 义多个类来表示公司雇员 employee(雇员)类:姓名、年龄、工资。 manager(经理)类:姓名、年龄、工资、行政级别 engineer(工程师)类:姓名、年龄、工资、专业、学位。 director(高级主管)类:姓名、年龄、工资、专业、学位、 职务。 结果:把 employee作为基类; manager和 engineer作为 employee的派生类; directo作为 engineer的派生类。 程序: //program 8-1. cpp /inlcude //include
第八章 继承与派生 ◼ 8.1 公司雇员档案的管理 ➢ 分析:由于对不同的雇员,其档案保存的内容不同,所以可以定 义多个类来表示公司雇员。 ➢ employee(雇员)类:姓名、年龄、工资。 ➢ manager(经理)类:姓名、年龄、工资、行政级别。 ➢ engineer(工程师)类:姓名、年龄、工资、专业、学位。 ➢ director(高级主管)类:姓名、年龄、工资、专业、学位、 职务。 ➢ 结果:把employee作为基类;manager和engineer作为 employee的派生类;director作为engineer的派生类。 ➢ 程序: //program 8-1.cpp //inlcude //include

第八章继承与派生 class employee short agei float salary; protected: char *name public: employee( short ag float sa, char*na){/构造函数 age=agi salary =sap name=new char[strlen(na)+1] strcpy(name nai void printo const cout<≤“”<<name<≤
第八章 继承与派生 class employee { short age; float salary; protected: char *name; public: employee(short ag,float sa,char *na){ //构造函数 age=ag; salary=sa; name=new char[strlen(na)+1]; strcpy(name,na); } void print() const{ cout<<“ ”<<name<<“:”;

第八章继承与派生 cout<<age<<“:” cout<<salary<<endi vemployeeoi delete []name;y class manager: public employee int level: public: manager(short ag float sa, char *na int lev) employee ag sa, na leveller: } void printo const employee: print(://调用基类的 print(
第八章 继承与派生 cout<<age<<“:”; cout<<salary<<endl; } ~employee() { delete []name;} }; class manager:public employee{ int level; public: manager(short ag,float sa,char *na,int lev) :employee(ag,sa,na){ level=lev; } void print() const{ employee::print();//调用基类的print()

第八章继承与派生 cout<< leve:”<<leve|<<end; Si class engineer:public employee char speciality adegree;//专业和学位 public: engineer(short ag float sa, char *na, char sp, char ad) employee (ag sa, nat speciality=spi adegree=ad; } void printo const t employee: printo//调用基类的 printo
第八章 继承与派生 cout<<“ level:”<<level<<endl; } }; class engineer:public employee{ char speciality,adegree;//专业和学位 public: engineer(short ag,float sa,char *na,char sp,char ad) :employee(ag,sa,na){ speciality=sp; adegree=ad; } void print() const{ employee::print();//调用基类的print()

第八章继承与派生 cout<<“ speciality:”<< speciality<<enc cout<<“ academic degree:”<< adegree<<endl enum ptitlePs, GM,VPS,vGMy class director public engineer title post//职位 public: director (short ag float sa, char na, char sp, char ad, ptitle po:employee ag sa, na sp,adt post=poi } void printo const engineer: printo;//调用基类的 print(。 cout<<“post:”<<post<<endl}}
第八章 继承与派生 cout<<“ speciality:”<<speciality<<endl; cout<<“ academic degree:”<<adegree<<endl; } }; enum ptitle{PS,GM,VPS,VGM}; class director:public engineer{ ptitle post;//职位 public: director(short ag,float sa,char *na,char sp,char ad, ptitle po):employee(ag,sa,na,sp,ad){ post=po; } void print() const{ engineer::print();//调用基类的print() 。 cout<<“ post:”<<post<<endl;}};

第八章继承与派生 void main({//主函数 employee emp1(236105” zhang”) employee emp2(27824.75”zha0”) manager man1(3281245”i”11); manager man2(3412005”cu”7 engineer eng(26142010”meng”EM director dir(381800.2”zhou'ErM’GM) emp1 printo: emp2 printo; man1 printo; man2, employee:: printo; eng printo; dir- printo; }
第八章 继承与派生 void main(){ //主函数 employee emp1(23,610.5,”zhang”); employee emp2(27,824.75,”zhao”); manager man1(32,812.45,”li”,11); manager man2(34,1200.5,”cui”,7); engineer eng(26,1420.10,”meng” , ’E’ , ’M’); director dir(38,1800.2,”zhou” , ’E’ , ’M’,GM); emp1.print(); emp2.print(); man1.print(); man2.employee::print(); eng.print(); dir.print(); }

第八章继承与派生 82派生类说明及其构造和析构函数 821派生类说明 派生类说明的格式为: class: private: protected: ; public. 存取权限:P256表81。 823派生类的构造函数和析构函数(P259~262)
第八章 继承与派生 ◼ 8.2 派生类说明及其构造和析构函数 8.2.1 派生类说明 ➢ 派生类说明的格式为: class : { private: ; protected: ; public: ; }; ➢ 存取权限:P.256.表8.1。 8.2.3 派生类的构造函数和析构函数(P.259~262.)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第五章 函数、函数与运算符的重载.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第二章 C++语言初步.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第三章 基本数据类型与基本运算.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第七章 类与对象.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第一章 绪论(主编:刘景、周玉龙).ppt
- 《高级语言C++程序设计》教材教学实验讲义(第二版)实验1 熟悉和使用vc集成开发环境(IDE).doc
- 恒润科技:《MATLAB 基础与编程入门》第五章 GUIDE 图形用户界面入门.ppt
- 恒润科技:《MATLAB 基础与编程入门》第四章 文件输入与输出.ppt
- 恒润科技:《MATLAB 基础与编程入门》第三章 MATLAB 编程入门.ppt
- 恒润科技:《MATLAB 基础与编程入门》第二章 MATLAB 图形基础.ppt
- 恒润科技:《MATLAB 基础与编程入门》第一章 MATLAB 基础.ppt
- 《计算机软件技术基础》第9九章 函数.ppt
- 《计算机软件技术基础》第8章 流程控制语句.ppt
- 《计算机软件技术基础》第7章 运算符和表达式.ppt
- 《计算机软件技术基础》第6章 基本数据类型.ppt
- 《计算机软件技术基础》第5章 C语言基础.ppt
- 《计算机软件技术基础》第4章 计算机实用技术基础.ppt
- 《计算机软件技术基础》第3章 数据库技术基础.ppt
- 《计算机软件技术基础》第2章 软件工程基础.ppt
- 《计算机软件技术基础》第1章 软件技术基础.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第六章 指针、引用与动态内存分配.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第四章 基本控制结构与导出数据类型.ppt
- 湖南软件职业技术学院:《C语言程序设计》第十章 带参数的函数(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第五章 循环结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第六章 数组(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第七章 函数应用程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》编译预处理命令(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第八章 指针(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第一章 C语言概述(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第二讲 算法(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第六章 数组应用程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第六章 数组应用程序设计(6-1)一维数组(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第十三章 文件(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第十一章 结构体与共用休(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第十章 指针(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第五章 选择结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第一讲 概述(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第一章 C语言的字符集(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第二章 C语言的数据类型与运算(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第二章 C语言的数据类型与运算(2.1-2.4)数据类型(危孟君).ppt