面向对象下1-2
1 导读
- 泛型编程
- 虚函数
2 转换函数conversion function
将一个类的对象A转换为另一个类,比如一个分数类转换为小数double类型
operator double() const{
相当于对double函数进行重载
3 构造函数关键词explicit
- 小数转换为分数
- non-explicit,不能和转换函数共存
- explict,让编译器不要自动转换,例如把3变成3/1
- (代理模式)
4 pointer-like classes
- 智能指针:class设计出来像一个指针
- *操作符重载,return *px
- ->操作符重载,return px
- 迭代器
5 function-like classes
- ()操作符重载
- select1st
(())
6 namespace
- 使用场景:两个人写的程序合并时,出现重复命名的情况
7 模板template
使用场景:想要让class中部分类型允许使用者指定
用法
template<typename T>
commplex<double> c1(2.5, 1.5)
8 函数模板
用法:编译器会做实参推导,使用时不必声明类型
template <typename T>
r3 = min(r1, r2)
9 成员模板
- 使用场景:模板中的模板,
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 C++学习笔记!