C++primer(3版)第17章-类继承和子类型-阅读笔记

本文探讨了C++中的类继承和子类型特性,重点在于多态性和动态绑定。介绍了通过基类指针和引用实现的多态,以及虚函数、dynamic_cast和typeid在多态中的作用。此外,还讨论了基类与派生类的访问控制、构造函数与析构函数的调用顺序、抽象类和虚函数的使用规范等关键概念。
摘要由CSDN通过智能技术生成

 (1)在继承机制里有两个十分重要的性质:多态性和动态绑定
   多态性:在C++中主要是指基类的指针和引用可以指向其任意派生类的能力.
(2)在面向对象的程序设计中,程序员操纵某个绑定的一个未知的实例,该绑定的类型是一个无限的集合,这些类型通过继承层次结构被绑定起来,在理论上对于层析的广度和深度没有限制,同时
在C++中这只能通过操纵基类指针和引用来实现
(3)void *型的指针可以被描述为多态,但是语言本身没有支持它,必须由程序员自己来管理,程序员可以通过"显式强制类型转换,以及记录实际类型的判别式"实现这一性质.
(4)C++支持多态的几种方式:
 -----通过隐式转换,从"派生类指针或引用"转换到"其共有基类类型的指针或引用"
    Query *pquery = new NameQuery("Glass");// Query是NameQuery的基类
 -----通过虚函数机制
    pquery->eval(); //eval()是基类中的虚函数,在派生类里得到实现
 -----通过dynamic_cast和typeid操作符
 if( NameQuery *pnq = dynamic_cast<NameQuery*>(pquery))
           ......
(5)在派生表中指定的类必须首先被定义好,方可指定为基类;派生类的前向声明不能包括它的派生表,而只需要类名.
(6)基类中声明为public,protected以及private时的访问规则:
 public:可以在任何范围内访问
 private:只能在类本身范围内访问
 protected:可以在类本身及其派生类范围内访问
(7)基类中包含的内容:
   ----被所有派生类支持的操作集,其中包括派生类类型改写的操作(虚函数)以及派生类之间共享的非虚函数
   ----派生类公共的数据成员集
(8)非静态数据成员:每个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值