·对概念进行组合。 研究生 教师 在职研究生
• 对概念进行组合。 研究生 教师 在职研究生
。支持软件的增量开发。(版本升级) A v1 A_v2 A v3
• 支持软件的增量开发。(版本升级) A_v1 A_v2 A_v3
单继承 在定义单继承时,派生类只能有一个直接基类, 其定义格式如下: class<派生类名>:[<继承方式>]<基类名> {<成员说明表> }: ·<派生类名>为派生类的名字。 <基类名>为直接基类的名字。 <成员说明表>是在派生类中新定义的成员,其中包括 对基类成员的重定义。 <继承方式>用于指出从基类继承来的成员在派生类中 对外的访问控制
单继承 ◼ 在定义单继承时,派生类只能有一个直接基类, 其定义格式如下: class <派生类名>:[<继承方式>] <基类名> { <成员说明表> }; • <派生类名>为派生类的名字。 • <基类名>为直接基类的名字。 • <成员说明表>是在派生类中新定义的成员,其中包括 对基类成员的重定义。 • <继承方式>用于指出从基类继承来的成员在派生类中 对外的访问控制
class A//基类 int X,Y; public: void f(); void g(); ; class B:public A/派生类 intz;/新成员 public: void h();/新成员
class A //基类 { int x,y; public: void f(); void g(); }; class B: public A //派生类 { int z; //新成员 public: void h(); //新成员 };
·派生类除了拥有新定义的成员外,还拥有基类的 所有成员(基类的构造函数和赋值操作符重载函 数除外)。例如: Bb; class A/基类 int x,y; b.x: public: b.y: void f(); b.z: void g(); 9 b.f); /A类中的f class B:public A/派生类 intz;/新成员 b.g(); /A类中的g public: b.h();/B类中的h void h();/新成员
◼ 派生类除了拥有新定义的成员外,还拥有基类的 所有成员(基类的构造函数和赋值操作符重载函 数除外)。例如: B b; b b.x: b.y: b.z: b.f(); //A类中的f b.g(); //A类中的g b.h(); //B类中的h class A //基类 { int x,y; public: void f(); void g(); }; class B: public A //派生类 { int z; //新成员 public: void h(); //新成员 };