C++语言程序设计 派生对家的内存布局 This 指针 Student 部分 Graduatestudent Graduate Student 继承部分 对象尺寸 指向对象gs的ths 指针也就是指向 Student对象的指 x 针?
C++语言程序设计 11 派生对象的内存布局 Student 部分 GraduateStudent 继承部分 This 指针 GraduateStudent 对象尺寸 指向对象gs的this 指针也就是指向 Student对象的指 针?
C++语言程序设计 派生类的声明 类 的 继cass派生类名:继承方式基类名 承与派生 成员声明; x 12
C++语言程序设计 12 派生类的声明 class 派生类名:继承方式 基类名 { 成员声明; } 类 的 继 承 与 派 生
C++语言程序设计 继承方式 类 成。三种继承方式 公有继承( public) 私有继承( private) 万 保护继承( protect)) 周。不同继承方式的影响主要体现在: 控 派生类成员对基类成员的访问权限 制 通过派生类对象对基类成员的访问权
C++语言程序设计 13 继承方式 ⚫ 三种继承方式 – 公有继承(public) – 私有继承 (private) – 保护继承 (protect) ⚫ 不同继承方式的影响主要体现在: – 派生类成员对基类成员的访问权限 – 通过派生类对象对基类成员的访问权限 类 成 员 的 访 问 控 制
C++语言程序设计 公有继承(pub|ic) 类 成。基类的pubc和 protected成员的访问 员属性在派生类中保持不变,但基类的 的 private成员不可直接访间。 访。派生类中的成员函数可以直接访问基类 控直接访间基类的pmp第令但不能 中的 public和 protected成员 制·通过派生类的对象只能访问基类的 public成员。 x
C++语言程序设计 14 公有继承(public) ⚫ 基类的public和protected成员的访问 属性在派生类中保持不变,但基类的 private成员不可直接访问。 ⚫ 派生类中的成员函数可以直接访问基类 中的public和protected成员,但不能 直接访问基类的private成员。 ⚫ 通过派生类的对象只能访问基类的 public成员。 类 成 员 的 访 问 控 制
C++语言程序设计 例公有继承举例 include <iostream> using namespace std class base I int x, y; ∥有数据成员 protected int a, b: ∥保护数据成员 public: int m, n, ∥公有数据成员 void Setx(ntX){x=Xy为私有数据成员设置接口 void sety( int Yy=Y;y为私有数据成员设置接口 int GetX0 return x/为私有数据成员设置接口大 int GetY(freturn y;}∥为私有数据成员设置接口 x }
C++语言程序设计 15 例 公有继承举例 #include <iostream> using namespace std; class Base { int x,y; //私有数据成员 protected: int a,b; //保护数据成员 public: int m,n; //公有数据成员 void SetX(int X) {x=X;}//为私有数据成员设置接口 void SetY(int Y) {y=Y;}//为私有数据成员设置接口 int GetX(){return x;} //为私有数据成员设置接口 int GetY(){return y;} //为私有数据成员设置接口 };