c++ primer 学习之---------公用、私有和受保护的继承
来源:互联网 发布:mac图片另存为快捷键 编辑:程序博客网 时间:2024/05/21 07:01
公用、私有和受保护的继承
基类本身指定对自身成员的最小访问控制。如果成员在基类中为 private,则只有基类和基类的友元可以访问该成员。派生类不能访问基类的 private 成员,也不能使自己的用户能够访问那些成员。如果基类成员为 public 或protected,则派生列表中使用的访问标号决定该成员在派生类中的访问级别:
• 如果是公用继承,基类成员保持自己的访问级别:基类的 public 成员为派生类的 public 成员,基类的 protected 成员为派生类的 protected成员。
• 如果是受保护继承,基类的 public 和 protected 成员在派生类中为protected 成员。
• 如果是私有继承,基类的的所有成员在派生类中为 private 成员。
去除个别成员
如果进行private或protected继承,则基类成员的访问级别在派生类中比在基类中更受限:
class Base {
public:
std::size_t size() const { return n;}
protected:
std::size_t n;
};
class Derived: private Base{...};
派生类可以恢复继承成员的访问级别,但不能使访问级别比基类中原来制定的更严格或更宽松。
在这一继承层次中,size 在Base中为public,但在Derived中为private。为了使size在Derived中成为public,可以在Derived的public部分增加一个using声明。如下这样改变Derived的定义,可以Derived的public部分增加一个using声明。如下这样改变Derived的定义,可以使size成员能够被访问,并使n能够被从Derived派生的类访问:
class Derived: private Base{
public:
using Base::size;
protected:
using Base::n;
};
- c++ primer 学习之---------公用、私有和受保护的继承
- C++ 公用、私有和受保护的继承
- C++ 公用、私有和受保护的继承
- 公有、私有和受保护的继承--《C++ primer》笔记
- C语言拾遗:公有、私有和受保护的继承--《C++ primer》笔记
- 公有,私有,和受保护的继承
- C++:公有继承、私有继承和保护继承
- c++学习之公有继承私有继承保护继承
- C/C++ 公有继承、保护继承和私有继承的区别
- C++ 共用.私有和受保护的继承
- 【C++基础】公有,私有和受保护的继承
- 保护继承和私有继承
- 公有、私有和受保护继承
- 公有继承,私有继承和保护继承的可见性
- C++的私有继承、公有继承和保护继承
- 公有继承、私有继承和保护继承之间的对比
- C++的私有继承、公有继承和保护继承
- c++ 公有继承、保护继承和私有继承的区别
- 手机电容TP和电阻TP原理简介
- HttpWebRequest 下载网页时 ,处理页面编码和服务器响应流(Gzip压缩)
- 如何在 Web 服务器上设置 SSL
- ARM芯片选型简易指南
- c# il (中间代码)exe,dll(编译成的程序) 之间的转换
- c++ primer 学习之---------公用、私有和受保护的继承
- 图片保存到数据库和从数据库读取图片并显示(C#)
- 在浏览器内核WebKit中并行加载外部脚本
- 【转】图片动态切换的实现
- QuickMenu破解方法
- SQL Server 2008实现"编辑所有行"和"返回所有行"的方法
- linux 命令入门一
- WINCE 6.0 安装
- WCF服务编程设计规范