、单一继承 C+中有两种继承:单一继承和多重继承。多重继承的派生类 各个基类 单一继承是本章的重点, 单一继承就是只通过一个基类产生派生类。这个派生类的基 类只有一个,它从基类继承所有的成员
二、单一继承 C++中有两种继承:单一继承和多重继承。多重继承的派生类 有多个基类 单一继承是本章的重点, 单一继承就是只通过一个基类产生派生类。这个派生类的基 类只有一个,它从基类继承所有的成员
单一继承的一般形式为: css派生类名:访问控制基类名{ 成员说明列表 public 成员说明列表
单一继承的一般形式为: class 派生类名:访问控制 基类名{ private: 成员说明列表 public: 成员说明列表 };
关于”类的保护成员": 个派生类的基类成员是私有成员的时候,虽然基类的成 被派生类继承,但C艹+规定,这个派生类仍不能直接访问 勺私有成员,只能通过基类的公有成员作为接口去访问, 这是符合数据封装的思想的。基类的私有成员在派生类中就 是"不可访问成员 为了能够在派生类中访问基类所有成员,又使数据封装得 以实现,就引入了"保护成员"的概念。就是在类的定义中, 用 protected来说明类成员,而不是用" private",这样的成 员就是类的保护成员。保护成员对于派生类的成员函数而 言是公有成员,而对于其他函数就仍是私有成员
关于"类的保护成员" : 当一个派生类的基类成员是私有成员的时候,虽然基类的成 员已被派生类继承,但C++规定,这个派生类仍不能直接访问 基类的私有成员,只能通过基类的公有成员作为接口去访问, 这是符合数据封装的思想的。基类的私有成员在派生类中就 是"不可访问成员" 。 为了能够在派生类中访问基类所有成员,又使数据封装得 以实现,就引入了"保护成员"的概念。就是在类的定义中, 用protected来说明类成员,而不是用"private",这样的成 员就是类的保护成员。保护成员对于派生类的成员函数而 言是公有成员,而对于其他函数就仍是私有成员
对于单一继承,主要要掌握的是其中的"访问控制(访问权限) 和赋值兼容规贝 派生类定义中的访问控制(权限)设为 public(公有)时, 类的派生就称为"公有派生",它有如下特点: 1.基类的公有成员在派生类中仍然是公有的。 2.基类的保护成员在派生类中仍然是保护的。 3.基类的不可访问和私有成员在派生类中仍然是不可访问 的 因为派生是没有限制的,也就是说,派生类也可做为基类派生 新的类,所以在派生类中有一种”不可访问成员"级别存在, 要么就是基类的不可访问成员要么就是基类的私有成员
对于单一继承,主要要掌握的是其中的"访问控制(访问权限)" 和赋值兼容规则: 当在派生类定义中的访问控制(权限)设为public(公有)时, 这个类的派生就称为"公有派生",它有如下特点: 1.基类的公有成员在派生类中仍然是公有的。 2.基类的保护成员在派生类中仍然是保护的。 3.基类的不可访问和私有成员在派生类中仍然是不可访问 的。 因为派生是没有限制的,也就是说,派生类也可做为基类派生 新的类,所以在派生类中有一种"不可访问成员"级别存在,它 要么就是基类的不可访问成员要么就是基类的私有成员
#include <iostream. h> class a DU void setx(int a)(x=a;) void sety(int b)iy=b;) int getxo const( return x;) int getyO const( return y;) protected X, private int y;
#include <iostream.h> class A { public: void setx(int a) { x = a; } void sety(int b) { y = b; } int getx() const { return x; } int gety() const { return y; } protected: int x; private: int y;};