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.模板模板参数。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值