- 数据类型就是对象(各种元素,种类繁多呀,它的广泛性,包括地址(目标对象的地址)),像世界中有各种动物一样表示着这个世界。受控,但是对本身无影响,存在性
理解:泥巴比喻int a=5;int是想法,在大脑里想象捏的图像,a是具体的一团泥巴,5是图像放大的大小
- 运算,信息的交互,新信息的产生
- 流程,控制着下一秒的走向,本身与其他无关
- 函数,黑盒子,一小整套包含数据、运算和流程的处理盒子
理解:划分的地方区域,区域包含各种杂乱信息,也可划分有效想要区域
- 信息,动作
- 被动改变,把某个对象的值赋值给另外一个对象就是打他一下,可被外在数据影响,也可被外在改变,也可被自我改变
- 接口?能不能拿出来用,在main函数里边直接使用,点运算符,是指具体哪个
- 多态:一种接口,多种方法,运算符重载,函数重载(静态绑定函数),虚函数(动态绑定函数)
- 抽象类,不可创建实体的类,通过纯虚函数实现
- cin>>a;“>>”提取操作
- 文件流类和二进制文件的读取,ifstream输出/读取到存储区数据,ofstream从存储区输入/写入到文件流类
- 文件操作,定义一个文件流对象
打开文件
读写操作
关闭文件
- 人对于对象的操作,都是通过对象的函数实现,实现某个功能
- 模版,稍改改可改成N多个大部分相同函数,模版劣势在参数位置和个数不可变
类模板;类模板的使用:类模板名<数据类型> 对象名,一边创建对象一边确定数据类型,C++有很多成熟的类模板在STL库中,自己不满意也可自创
- standard template library容器是类模板的集合,每一种容器都匹配了一种迭代器
定义一个容器类的迭代器:
容器类名<类型>::iterator 变量名
算法,函数模板的集合
vector<int> a,这其实是引用了类模板库里边的vector容器模板,指定了类型为int,创建了a容器对象
it=v1.begin():,it是迭代器(指针变量)begin()为V1容器当中的函数,返回头部位置(地址)
- 思考动因
- If不同条件对应不同输入,
- 算法与迭代器都属于容器的,平起平坐,共同作用
- 序列型容器,向量,双端队列,双向列表
- 关联型容器每个单元存储的是键值对
Map举例,pair是模板类,将两个值组织在一起,两个值类型可不同,它具有first和second属性分别访问key和value
- 函数模板的使用不需要自己指定数据类型,当调用时会根据参数数据的类型自动分配类型,而类模板的确认是需要自己指定类型的,
pair(int,int)apair=make_pair(5,10);
- 再论迭代器,所以迭代器都能向前推
方向性分类,支持只向前P++
支持前后P--,P++
顺序性分类,支持跳跃式
23,对于不是连续性数据结构不支持随机访问,对于栈和队列不支持迭代器