第四周 笔记

conversion function,转换函数

A转换成T 有两种方式

1、A操作符重载 operator T() const()

2、T的构造函数 T(const A&)   or  T(const A&,int len=0) //注意后面那个值one-argument

    注意explicit关键字,禁止编译器默认执行


pointer-like  classes  智能指针  

1、[*]和[->] 操作符重载

2、shared_ptr   引用计数

function-like classes

namespace

1、命名空间,可以有效的隔绝同名的情况

2、注意作用域

3、用法 ::

Template 注意关键字有区别

1、类模板,类操作的元素不同 ,但是逻辑相同,都可以用类模板实现 

用法:template<typename T>

例子:complex<double> c1(2.5,1.5);

           complex c1(2,1);

2、函数模板,和类模板同样的场景,

用法:template<class T>,会用到T的成员函数

3、成员模板,模拟向上构造


多态的更深入应用,将多种类型的数据用其父类来组织(横向)


多态的更深入应用,智能指针(纵向)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容