勿在浮沙筑高台
正规、大器的编程素养,继续探讨更多技术
泛型编程和面向对象编程是两条不同的技术路线
传统版本的STL:
整个标准库是泛型编程 而非 面向对象
继承和多态用的不多
1.转换函数:
类型转换:A/B
c++说你不用写返回类型,名称里面已经写了,转换,不需要参数
const:不应该改变
转换是隐式的?
有没有写全局的函数+?
左为整数或浮点数,右为Fraction
不存在
因此编译器再找Fraction能否转换为double或int
不需要写成:double d=4+double(f)???
转换的不需要是内置类型
将这种东西转换为别的东西,转换函数
单实参非explict构造函数:
one-argument
two parameter one argument(只要一个实参就够了,给两个实参也可以)
explict可以出现在构造函数前面
编译器想办法找能不能让这个语句通过!
能不能把4转为fraction
利用构造函数将4变为4/1
Fraction d2=f+4 注意!
可以把别的东西转换为这种东西!
编译器会想,该怎么办?!?!?! +号这个地方
此时,全局的+还可以用么?
标准库的例子:
操作符重载,boolean值???