第五章继承与派生面向对象程序设计有三个主要特点:封装、继承和多态性。这章主要学习有关继承的知识,在第六章学习多态性。++的继承机制实现软件可重用。有时两个类的内容基本相同或有一部分相同。例如已声明了类student: classStudent {private: intnum; stringname; charsex;public: voiddisplay() {cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl;} };3如果另一个部门除了需要已有的数据外,还需要地址信息,你可以再声明另一个类 classStudent1 {private: intnum; stringname; charsex; charaddr[20];public: voiddisplay() {cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl; cout<<"address:"<<addr<<endl;} };4可以看到新类中大部分成员是原来已有的。人们自然会想到能否利用原来声明的类student,加上新内容即可,以减少重复的工作。这就引出C++的继承机制。 所谓继承是在已存在的类A的基础上建立一个新类B。类A称为基类或父类,类B称作派生类或子类。子类从父类获得其已有的特性,这种现象称作类的继承。从另一个角度看从父类产生子类,称作类的派生。,每个派生类又可以作为基类再派生出新的派生类。一个派生类只从一个基类派生,称作单继承。。,也就是说一个派生类可以有两个或多个基类。一个派生类有两个或多个基类的称作多重继承。。基类和派生类的关系可以表述为:派生类是基类的扩充,而基类是派生类的抽象。,声明的格式为 class派生类名:[继承方式]基类名 {派生类新增成员声明}; 继承方式包括:public、private、protected。如果省略,系统默认为private。 例:假定已经声明一个基类student,在它基础上通过继承建立一个派生类student1:8classStudent1:publicStudent {private: intage; stringaddr;public: voiddisplay_1() {cout<<"age:"<<age<<endl; cout<<"address:"<<addr<<endl;} };。继承基类成员体现了同一基类的派生类都具有的共性,而新增加的成员体现了派生类的个性。10
c第五章类的继承 来自淘豆网m.daumloan.com转载请标明出处.