C++语言程序设计 派生类的声明 类 的 class派生类名:继承方式基类名 继承与派 派生类成员声明; ; 米大
C++语言程序设计 11 派生类的声明 class 派生类名: 继承方式 基类名 { 派生类成员声明; }; 类的继承与派生
C+语言程序设计 继永方式 类 成 ●不同继承方式的影响主要体现在: 员 派生类成员对基类成员的访问权限 的 通过派生类对象对基类成员的访问权限 访 ●三种继承方式 问 公有继承 控 私有继承,默认 制 保护继承
C++语言程序设计 12 继承方式 不同继承方式的影响主要体现在: – 派生类成员对基类成员的访问权限 – 通过派生类对象对基类成员的访问权限 三种继承方式 – 公有继承 – 私有继承,默认 – 保护继承 类成员的访问控制
C++语言程序设计 公有继永(public) 类 成 ● 基类的public和orotected成员的访问 员 属性在派生类中保持不变,但基类的 的 private成员不可直接访问。 访 ·派生类中的成员函数可以直接访问基类 问 中的oublicz和protected,成员,但不能 控 直接访问基类的private)成员。 制 通过派生类的对象只能访问基类的 public成员。 13
C++语言程序设计 13 公有继承(public) 基类的public和protected成员的访问 属性在派生类中保持不变,但基类的 private成员不可直接访问。 派生类中的成员函数可以直接访问基类 中的public和protected成员,但不能 直接访问基类的private成员。 通过派生类的对象只能访问基类的 public成员。 类成员的访问控制
C++语言程序设计 例7-1公有继永举例 类 成 class Point{/基类Pointa类的定义 public: //公有函数成员 员 void initPoint(float x 0,float y 的 =0){ this->xx;this->yy;} 访 void move(float offX,float offY) x +offX;y +offy;} 问 float getx()const return x; 控 float getY()const return y; 制 private: /私有数据成员 float x,y;
C++语言程序设计 14 例7-1 公有继承举例 class Point { //基类Point类的定义 public: //公有函数成员 void initPoint(float x = 0, float y = 0) { this->x = x; this->y = y;} void move(float offX, float offY) { x += offX; y += offY; } float getX() const { return x; } float getY() const { return y; } private: //私有数据成员 float x, y; }; 类成员的访问控制
class Rectangle:public Point /派生类定义部 分 public: //新增公有函数成员 void initRectangle(float x,float y,float w, float h){ initPoint(x,y);//调用基类公有成员函数 this->ww; this->hh; float getH()const return h; float getw()const return w; private:/新增私有数据成员 float w,h; };
class Rectangle: public Point { //派生类定义部 分 public: //新增公有函数成员 void initRectangle(float x, float y, float w, float h) { initPoint(x, y); //调用基类公有成员函数 this->w = w; this->h = h; } float getH() const { return h; } float getW() const { return w; } private: //新增私有数据成员 float w, h; }; 15