Boolan C++面向对象高级编程学习第四周

本周主要是讲第一阶段c++没有讲完的一些特性,和一些c++11中的一些特性,这种讲的比较散,内容很庞大,主要分为以下几种

1、转换函数

operator double() const
{
return (double) (m_numerator / m_denminator)
}

主要是写在类中,告诉编译器可以转成另外一种类型的方式

 

2、explicit

这个字段主要是在类的构造的时候使用

non-explicit 可以把别的转化为自己 (容易产生二义性)

加上explicit 明确告诉编译器仅仅只能调用,不能作为转换构造使用(不会产生二义性)

 

3、pointer-like classes   智能指针

类里面包含了使用的指针,在重载操作符的时候,记得-> 这个符号很特别,可以带下去

 

4、function-like classes   仿函数

类里面重载了()的操作符,看起来像函数

 

5、namespace 命名空间

在多人开发时,为了防止类名和函数名冲突,可以用命名空间加以区分

 

6、template 模板

这里的模板分为

(1)类模板 template <typename T>

(2)函数模板 template <class T>

(3)成员模板 template<class T1, class T2>

(4)模板特化,模板偏特化

(5)模板参数

 

6、C++ 11 一些知识点

(1)可变数量的模版参数

(2)auto 关键字  (这里切记auto关键字使用一定要初始化!)

(3)for(auto m  : vector) (一种容器遍历的新的方法)

  for(auto& m  : vector)

  {m += 3}

  这样会改变容器本身的值

本周还对reference进行再一次的讲解,这个我之前也是写到过,这里就不多讲

本周学习的内容比较多且杂。主要是一些语法学习,让我见识到了c++语言的丰富性。

 

转载于:https://www.cnblogs.com/fighter17/p/7823818.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值