C++ Primer再读笔记-4

来源:互联网 发布:c语言api帮助文档 编辑:程序博客网 时间:2024/06/10 09:08

第15章 面向对象编程

1.面向对象编程基于三个基本概念:封装、继承、多态。

2.用类实现封装,将数据和方法结合,增强安全性和简化编程。

3.用派生实现继承。

4.用动态绑定实现多态,继承和多态能够容易定义与其他类相似但又不相同的新类,简化编程。

5.多态性仅用于通过继承而相关联的类的引用和指针。

6.派生类继承基类定义的成员,包括变量和函数,可以无须改变而使用原有基类的成员,也可以重定义实现特化,还可以定义更多成员。

7.那么问题来了,基类希望派生类重定义的怎么说出来呢?通过虚函数;而希望派生类继承的则不能定义为虚函数。

8.protected成员可以被派生类访问,但是不能被该类的普通用户访问,适用于基类的某些成员希望派生访问但禁止用户访问。

9.派生类中的虚函数声明必须与基类中的完全匹配,但有一个例外,那就是返回类型是对基类的引用,派生类可以返回对派生类的引用。

10.多态:通过基类的引用或指针调用派生类的虚函数时,将在运行时决定调用哪个函数的行为。

11.派生类构造函数执行过程:1.基类构造函数初始化列表;2.基类构造函数的函数体;3.派生类构造函数的初始化列表;4.派生类构造函数的函数体

12.析构函数中有虚函数:当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用,这样防止用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。

13.抽象基类:含一个或多个纯虚函数的类。针对基类本身生成对象是不合情理的情况,给派生类提供一个一致性的接口,只是一个函数的声明。






0 0
原创粉丝点击