面向对象编程与泛型编程(15至16章)

面向对象编程与泛型编程(15至16章)

ID:41033595

大小:25.04 KB

页数:6页

时间:2019-08-14

面向对象编程与泛型编程(15至16章)_第1页
面向对象编程与泛型编程(15至16章)_第2页
面向对象编程与泛型编程(15至16章)_第3页
面向对象编程与泛型编程(15至16章)_第4页
面向对象编程与泛型编程(15至16章)_第5页
资源描述:

《面向对象编程与泛型编程(15至16章)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《C++Primer》第四部分学习笔记汇总——面向对象编程与泛型编程——继承,动态绑定,数据抽象,函数模板《C++Primer》第15章学习笔记第15章:面向对象编程——面向对象编程基于三个基本概念:数据抽象,继承,动态绑定。——用类进行数据抽象——用类派生从一个类继承另一个类:派生类继承基类成员;——动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数。@学习摘录162:继承与动态绑定的作用:——能够容易地定义与其他类相似但又不相同的新类,能够更容易地编写忽略这些相似类型之间区别的程序。@学习摘录163:多态性——面向对象编程的关键思想是

2、多态性(polymorphism)——继承而相关联的类型为多态类型。@学习摘录164:继承——派生类(derivedclass)能够继承基类(baseclass)定义的成员——派生类可以无须改变而使用那些与派生类型具体特性不相关的操作——派生类可以重定义那些与派生类型相关的成员函数,将函数特化,考虑派生类型的特性。——在C++中,基类必须指出希望派生类重定义哪些函数,定义为virtual的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为虚函数。@学习摘录165:动态绑定(dynamicbinding)——我们能够编写程序使用继承层次中任意类型的对

3、象,无须关心对象的具体类型。@学习摘录166:protected成员——可以认为protected访问标号是private和public的混合:——1.像private成员一样,protected成员不能被类的用户访问。——2.像public成员一样,protected成员可被该类的派生类访问。——派生类只能通过派生类对象访问其基类的protected成员,派生类对其基类类型对象的protected成员没有特殊访问权限。@学习摘录167:派生类类型接口——简单地说:提供给派生类型接口是protected成员和public成员的集合。@学习摘录168:派生类——为了

4、定义派生类,使用类派生列表(classderivationlist)指定基类。——classclassname:access-labelbase-class——这里的access-label是public、protected或private,base-class是已定义的类的名字。@学习摘录169:派生类和虚函数——一旦函数在基类中声明为虚函数,它就一直为虚函数,派生类无法改变该函数为虚函数这一事实。——派生类重定义虚函数时,可以使用virtual保留字,但不是必须这样做。@学习摘录170:virtual与其他成员函数——C++函数默认不使用动态绑定。——要触发动

5、态绑定,必须满足两个条件:——第一,要将成员函数指定为虚函数。(默认的成员函数都是非虚函数)——第二,要通过基类类型的引用或指针进行函数调用。@学习摘录171:静态类型与动态类型的概念——静态类型(statictype)在编译时可知的引用类型或指针类型。——动态类型(dynamictype)指针或引用所绑定的对象的类型,这是仅在运行时可知的。@学习摘录172:C++中的多态性——引用和指针的静态类型与动态类型可以不同,这是C++用以支持多态性的基石。@学习摘录173:派生类函数调用基类版本——只有成员函数中的代码才应该使用作用域操作符覆盖虚函数机制。——覆盖虚函数

6、机制,最常见的理由是为了派生类虚函数调用基类中的版本。——派生类虚函数调用基类版本时,必须显式使用作用域操作符。如果派生类函数忽略了这样做,则函数调用会在运行时确定并且将是一个自身调用,从而导致无穷递归。@学习摘录174:继承与组合——定义一作为另一个类的公用派生类时,派生类应反映与基类的“是一种(IsA)”关系。——在书店的例子中,基类表示按规定价格销售的书的概念,Bulk_item是一种书,但具有不同的定价策略。——类型之间另一种常见的关系是称为“有一个(HasA)”的关系。——书店的例子的类具有价格和ISBN.@学习摘录175:友元关系与继承——基类或派生类

7、可以使其他类或函数成为友元。——友元可以访问类的private和protected数据。——友元关系不能继承。@学习摘录176:转换与继承——每个派生类对象包含一个基类部分。——可以将派生类对象的引用转换为基类子对象的引用,对指针也类似。——没有从基类引用(或基类指针)到派生类引用(或派生类指针)的(自动)转换。——没有从派生类型对象到基类类型对象的直接转换。第四节:构造函数和复制控制——构造函数和复制控制成员不能继承,每个类定义自己的构造函数和复制控制成员。@学习摘录177:合成的派生类默认构造函数——派生类的合成默认构造函数与非派生的构造函数只有一点不同:——

8、除了初始化

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。