Boolan c++学习第四周笔记

1.泛型编程和面向对象编程,是c++的技术主流。

2.转换函数:

2.1

这就是一个转换函数,函数名前后有空格,没有参数,没有返回类型。这个const通常都需要加,因为我们不需要改变数据,这个例子中就是将分子和分母直接除等到一个double。

例子:


定义了一个对象f,再将它转换为0.6.


这个构造函数比较特殊


编译器去找+这个操作符的函数,但是没找到,编译器就去找能否将4转换为fraction这个类,找到了上面的这个特殊函数,转换为4/1 ,然后进行相加。

但是二者并存的情况下:


在想上面这个就晕行不通,编译器两条路都可以走的通,就会报错,不行。

可以加上explict进行修饰,编译器就不会将4转换为4/1了。


3。智能指针:

3.1产生的对象像一个指针,


对象里面肯定有一个真正的指针,里面一定要写*和->和普通指针一样去理解。

4.迭代器。

5.类像函数。



对象可以接收小括号,任意的类型,名字为pair(针对第二个源代码),使用例子:struct select1st <pair>()()  ,第一个小括号是用来产生临时变量,第二个才是调用函数。类里面有这种()的重载。

6.类的模板。



7.函数模板


这个比较模板里面有一个<这个符号,所以我们在定义类的时候需要定义出这个操作符重载。

8.成员模板。




9.模板特化。


上面是泛化,没有定义的,下面是特化。

偏特化:

个数上的偏,这个模板有两个模板参数,绑定其中一个。

范围上的偏化,范围缩小。就譬如缩小到指针范围。


10.模板模板参数。




阅读更多
上一篇Boolan c++学习第三周笔记
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭