14. c++中的代码重用 1. 包含对象成员的类 1.1. valaray类简介 使用explicit关闭隐式转换 valarray类是由头文件valarray支持的。顾名思义,这个类用于处理数值(或具有类似特性的类),它支持诸如将数组中所有元素的值相加以及在数组中找出最大和最小的值等操作。valarray被定义为一个模板类,以便能够处理不同的数据类型。 valaray类的方法: img C++包含 2024-11-27 c++ > c++ primer plus #c++
13. 类继承 13.2 继承: is-a关系 c++三种继承方式: 公有继承 建立一种is-a关系,即派生类对象也是一个基类对象,可以对基类对象执行的任何操作,也可以对派生类对象执行 保护继承 私有继承 13.3 多态公有继承 在派生类中重新定义基类的方法。 使用虚方法,使用关键词virtual 基类声明了一个虚析构函数,为了确保释放派生对象时,按正确的顺序调用析构函数, 2024-11-27 c++ > c++ primer plus #c++
10. 对象和类 类的构造函数和析构函数 类的数据成员名使用m_前缀或者_后缀 const成员函数 我们知道,在C++中,若一个变量声明为const类型,则试图修改该变量的值的操作都被视编译错误。例如, const char blank = ‘’; blank = ‘’; // 错误 面向对象程序设计中,为了体现封装性,通常不允许直接修改类对象的数据成员。若要修改类对象,应调用公有成 2024-11-27 c++ > c++ primer plus #c++
9. 内存模型和名称空间 1. 存储特续性、作用域和链接性 cin()是面向单词的输入,即使用空白(空格、制表符和换行符)来确定结束为止,将其传递给接收的变量或数组,空白之后输入的字符仍留在输入队列中,下次读取输入时,继续读取。 cin.getLine(name,ArSize)是面向行的输入,该函数每次读取一行,它通过换行符来确定行尾,但不保存换行符。相反,在存储字符串时,它用空字符替换换行符。 cin.get(na 2024-11-27 c++ > c++ primer plus #c++
8. 函数探幽 函数模板 隐式实例化、显式实例化和显式具体化统称为具体化(specialization)。它们的相同之处在于,它们表示的都是使用具体类型的函数定义,而不是通用描述。 引入显式实例化后,必须使用新的语法一在声明中使用前缀template和template<>,以区分显式实例化和显式具体化。通常,功能越多,语法规则也越多。下面的代码片段总结了这些概念: img 然而,有 2024-11-27 c++ > c++ primer plus #c++
15. STL-常用算法 img 5.1 常用遍历算法 img for_each for_each(iterator beg, iterator end,_func) 1234567891011121314151617181920212223242526void print01(int val){ cout << val << " &quo 2024-11-27 c++ > c++ 黑马 #c++
14. STL 函数对象 4.1 函数对象 概念: 重载函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的(0时,行为类似函数调用,也叫仿函数 本质: 函数对象(仿函数)是一个类,不是一个函数 4.1.1 函数对象使用 特点: 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值 函数对象超出普通函数的概念,函数对象可以有自己的状态 函数对象可以作为参数传递 123456789 2024-11-27 c++ > c++ 黑马 #c++
13. STL常用容器 3.1 string 容器 3.1.1 string基本概念 本质: 。string是C++风格的字符串,而string本质上是一个类 stringi和char*区别: ·char*是一个指针 ·string是一个类,类内部封装了char,管理这个字符串,是一个char型的容器。 特点: string类内部封装了很多成员方法I 例如:查找find,拷贝copy,删除delete替 2024-11-27 c++ > c++ 黑马 #c++
12. STL初识 长久以来,软件界一直希望建立一种可重复利用的东西 C+的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准,诞生了ST礼 STL(Standard Template Library,标准模板库) STL从广义上分为:容器(container)算法(algorithm)迭代器(iterator 2024-11-27 c++ > c++ 黑马 #c++