C++ Primer Plus 第14章 C++中的代码重用
来源:互联网 发布:matlab 全局优化 编辑:程序博客网 时间:2024/06/06 08:52
1.包含:类里有这样的成员——本身是另一个类的对象
2.包含,私有,保护继承用于实现has-a关系
3.valarray类,模板类,用于声明数组
包含以下方法:operator[]() size() sum() max() min()
4.使用包含,类可以获得实现,不继承接口。不继承接口是has-a关系的组成部分
5.C++要求在构建对象的其他部分之前,先构建继承对象的所有成员对象
6.使用公用继承,基类的公有方法将成为派生类的公用方法
私有继承,积累的公有和保护方法会成为派生类的私有方法
7.使用私有继承,类将继承实现
8.包含将对象作为一个命名的成员对象添加到类中,私有继承将对象作为一个未被命名的继承对象添加到类中。称为子对象
9.使用公用继承,基类指针或引用可以指向子类
私有继承,基类指针或引用不可以指向子类(要显式类型转换)
10.通常使用包含而不用私有继承
好处是私有继承会产生很多问题,可以包含多个同类子对象(私有继承只有一个对象)
私有继承的好处是可以获取到基类的保护成员,这只能在继承关系才能得到
11.保护继承 使用protected
使用保护继承和私有继承的重要区别:
使用私有继承,第三代类将不能使用基类的公有接口,因为基类的公有方法在派生类中变成了私有方法
使用保护继承,基类的公有方法在第二代中变成受保护的,所以第三代可以使用
12.各种继承方式 P550
13.在子类中使用using声明使用基类的成员,不管基类的成员是公有还是私有,都可以在子类中使用
15.多重继承,主要两个问题:
从两个不同的基类继承同名方法;
从两个或更多相关基类哪里继承同一个类的多个实例
16.新技术——虚基类
从多个类(它们的基类相同)派生出的对象只继承一个基类对象
如:class Singer:virtual public Worker{。。。};
class Waiter:virtual public Worker{。。。};
然后class SingingWaiter : public Singer, public Waiter{。。。};
这样子,SingingWaiter对象将只包含Worker对象的一个副本。
从本质上来说,继承的Singer和Waiter对象共享一个Worker对象,而不是各自引入自己的Worker对象副本
17.多重继承下构造函数要新的写法
SingingWaiter(const Worker & wk,int p = 0,int v = Singer::other):Work(wk),Waiter(wk,p),Singer(wk,v){}
如果类有间接虚基类,则除非只需使用该虚基类的默认构造函数,否则必须显式地调用该虚基类的某个构造函数
18.多重继承MI一些探讨P566
19.定义类模板
类前添加template <class Type>
模板类的成员函数在类外实现也要添加template <class Type>
20.类模板必须显式提供所需的类型
21.如何处理指针栈P573
22.类模板可以使用非类型参数
如template <class T,int n>
23.模板的递归使用P579
24.使用多个类型参数 template<class T1,class T2>
25.默认类型模板参数 template<class T1,class T2 = int>
26.模板有隐式实例化,显式实例化,显式具体化,部门具体化P583
27.模板可以用作结构,类或模板类的成员P584
28.模板类和友元,分3类
非模板友元
约束模板友元
非约束模板友元P588
29.取模板别名字
typedef 方法和using 方法·
typedef std::array<double,12> arrd;
template <class T>using arrtype = atd::array<T,12>;
14.7这章内容很难,以后多关注
- C++ Primer Plus 第14章 C++中的代码重用
- 【读书笔记:C++ primer plus 第六版 中文版】第14章 C++中的代码重用
- c primer plus第14章习题
- C++ Primer Plus -- 第14章 C++的代码重用 笔记
- c++primer plus 第12章习题
- C.Primer.Plus(第六版)第14章 编程练习
- c++primer第十四章c++代码重用(二)
- C++Primer学习笔记(代码重用)
- C Primer Plus 编程练习代码——第2章
- C++ Primer-学习笔记#1 第14章_C++中的代码重用
- 2012/2/3 《C++ Primer Plus》第十四章:C++中的代码重用 学习笔记
- 《C++ Primer Plus(第六版)》(28)(第十四章 C++中的代码重用 笔记)
- 《C Primer Plus(第5版)中文版》第6章编程练习第14题
- c primer plus 14章答案
- C primer plus第1章(概览)习题
- C primer plus第9章(函数)习题
- C primer plus第10章(指针)习题
- C primer plus第15章(位操作)
- Linux访问windows共享文件夹
- android 入门作品之 特价淘宝客-生活查询助手1.0- 微课堂
- javascript语句可以通过使用8进制表示执行
- 新生搜索神器Microsoft Academic Search与Google scholar、PubMed、wos、embase大PK!
- 3505: [Cqoi2014]数三角形
- C++ Primer Plus 第14章 C++中的代码重用
- keil中的printf
- Java集合排序及java集合类详解
- IT软件项目管理视频教程—软件项目管理实战教程
- Arm2440 启动流程详细分析
- osx 自带的 ctags 是不支持 -R 选项的,注意了。。。
- Cognos入门教程(六)- 添加数据源
- Reverse Linked List II && Add Binary
- usaco/ 1.3 milk/barn1