Cpp学习笔记五

Cpp学习笔记五

  1. 反向迭代
  2. 重载函数
  3. 函数指针
  4. 面向对象的标准库

反向迭代:rbegin, rend

反转一个字符串的几种方法:

  1. 原地反转,reverse(s.begin(), s.end())
  2. 赋值,s2.assign(s.rbegin(), s.rend())

重载函数

同一个作用域的两个函数,名字相同、形参表不同,称之为重载函数

重载函数和重复声明的区别:主要是形参表不同
形参和const形参在使用非引用形参时并无不同,在使用引用形参或者指针时,有所区别

不要过度使用重载功能

在C++中,名字查找发生在类型检查之前

重载确定的几个步骤:

  1. 选出候选函数——同名函数
  2. 选择可行函数——实参个数、类型匹配
  3. 寻找最佳匹配

函数指针

函数指针同C语言

C++允许使用函数指针指向重载的函数
此时指针的类型必须与重载函数的一个版本精确匹配

面向对象的标准库

IO标准库使用的工具有:

  1. istream、ostream
  2. cin、cout、cerr、clog
  3. 、<<

  4. getline

C++种提及的父类称之为基类,继承的类称之为派生类

一个派生类可以有两个或者多个父类
例如iostream这个类派生自istream和ostream

若函数有基类类型的引用形参时,可以给函数传递其派生类型的对象
就是派生类可以放进&父类的形参

标准库类型不允许做复制或者赋值操作

  1. IO对象不能放在vector或者其他容器里面
  2. 要传递IO对象,只能使用非const引用的方式进行传递

猜你喜欢

转载自blog.csdn.net/weixin_45206746/article/details/114333632