侯捷老师-02面向对象高级编程
1.转换函数
将A类实例对象转换为其他类型,或者将其他类型转换为A类。大部分情况视为将A类对象转换为其他类型。
1.1 Fraction对象转其他类型(double)
1.2 其他类型(double)转Fraction对象
结合上面两个情况,能否同时使用两种转换方式?
- 不能,因为由于两种情况都能走通,编译器会犯选择困难症,然后报错。
[外链图片转存中…(img-blog.csdnimg.cn/85a4510db85044208d131f55487d598b])
1.3 实例展示
1.3.1 库函数中举例(函数模仿指针)
1.3.2 函数模仿函数
主要是对操作符“()”进行重载的操作
1.3.3 链表的迭代器
1.4 模板泛化
1.4.1类模板
1.4.2函数模板
编译器自动进行参数推导。
1.4.3成员模板
该模板主要使用在类的构造函数中,能够实现将某个子类看作参数,来构造父类的初始化操作。
1.5 模板特化
特化确定了类型,并且实现多个不同类型下的函数重载。
1.5.1 模板偏特化-个数
1.5.2 模板偏特化-范围
1.5.3 模板模板参数(智能指针)
错误实例:
数量不定的模板参数: