学习C++继承机制的一些笔记

来源:互联网 发布:linux exec 编辑:程序博客网 时间:2024/05/22 11:48

继承机制下的私有成员

私有成员只在基类中可见,在派生类中不可见,派生类会为所有私有成员分配内存空间,派生类不能直接访问基类的私有成员,但可以通过间接的方式(调用继承自公有成员的函数)来使用私有成员。

改变访问限制

派生类可以通过using 声明,来改变基类的私有成员和公有成员的访问方式。

class B

保护成员

除了私有成员和公有成员,C++还提供了保护成员(protect),在没有继承的情况下,保护成员的性质与私有成员差不多,但是在继承的条件下,基类的保护成员在派生类可见,派生类在类的内部可直接使用,私有成员在派生类不可见,派生类需要通过using说明符说明使用。派生类不能访问基类对象的保护成员,因为基类对象属于基类,不属于派生类.一个类中若有保护成员,该类的对象不可直接访问,该类的派生类可以访问基类的保护成员(在公有和保护继承方式下)。

名字隐藏

如果派生类添加了一个数据成员,其名字与基类的数据成员相同,则新的成员名就隐藏了基类的数据成员,如果派生类添加了与基类某个成员函数名字相同的成员函数,就隐藏了基类的成员函数。