Geekband-job3-note

1、继承

C++类的3种继承方式,分别是public继承,protected继承,private继承。
最常用的还是public继承。class默认的是private继承,它的member如果没写权限也是默认private。struct则相反,默认的是public继承。派生类型必须对想要重定义的每个继承成员进行声明(virtual 函数)。

像 private 成员一样,protected 成员不能被类的用户访问。像 public 成员一样,protected 成员可被该类的派生类访问。派生类只能通过派生类对象访问其基类的 protected 成员,派生类对其基类类型对象的 protected 成员没有特殊访问权限。

void Bulk_item::memfcn(const Bulk_item &d, const Item_base &b)

{

// attempt to use protected member

double ret = price; // ok: uses this->price

ret = d.price; // ok: uses price from a Bulk_item object

ret = b.price; // error: no access to price from an Item_base

}

• 如果是公用继承,基类成员保持自己的访问级别:基类的 public 成员为

派生类的 public 成员,基类的 protected 成员为派生类的 protected

成员。

• 如果是受保护继承,基类的 public 和 protected 成员在派生类中为

protected 成员。

• 如果是私有继承,基类的的所有成员在派生类中为 private 成员。

      如果基类定义 static 成员,则整个继承层次中只有一个这样的成员。

      要确定到基类的转换是否可访问,可以考虑基类的 public成员是否访问,如果可以,转换是可访问的,否则,转换是不可访问的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,527评论 18 399
  • C++ 面向对象编程 博客园地址:http://www.cnblogs.com/xiongxuanwen/p/42...
    先之阅读 3,926评论 0 1
  • 我们晓得万事都互相效力,叫爱神的人得益处,就是按他旨意被召的人。 (罗马书 8:28 和合本) 耶和华说...
    梦思si阅读 4,659评论 0 0
  • 我选择了放弃三月份的英语考试,因为我突然发现,我无论是否在明年获得学历,我在18年都可以参加晋升的考试,所以我选择...
    李苏珊阅读 2,578评论 0 0
  • 在看之前如果你对iOS10 的推送还处于一片空白,建议先看 iOS 10 推送你玩过了吗? Notificatio...
    踩坑小分队阅读 10,325评论 12 18

友情链接更多精彩内容