(GeekBand)Third class

一、转换函数(conversion function)

1.转出去,把本类转为其它类型

(GeekBand)Third class_第1张图片

2.转回来,把其它类型转为本类类型

(GeekBand)Third class_第2张图片

3.如果两个都有,则报错

(GeekBand)Third class_第3张图片

二、non-explicit-one-argument constractor

1.强制不允许发生隐式转换

(GeekBand)Third class_第4张图片

2.一个例子:代理设计模式

operator[]本该返回bool值,却返回了一个reference,这个叫代理。但能这么做的前提是reference本身有转换为bool的转换函数。

(GeekBand)Third class_第5张图片

三、智能指针(pointer-like class)

1.把指针封装成类,并且写出相应的转换函数,增加一些的功能。

(GeekBand)Third class_第6张图片

2.迭代器

(GeekBand)Third class_第7张图片

*和->的转换函数:

(GeekBand)Third class_第8张图片

四、仿函数(function-like class)

即在类里面重载()操作符。

(GeekBand)Third class_第9张图片

五、namespace经验谈

(GeekBand)Third class_第10张图片

六、class template

(GeekBand)Third class_第11张图片

七、function template

(GeekBand)Third class_第12张图片

八、member template

你可能感兴趣的:((GeekBand)Third class)