第十周 C++11新特性和C++高级主题
第一节 C++新特性(1)
1.统一的初始化方法
(1)int arr[3]{1, 2, 3};
(2)vector<int> iv{1, 2, 3};
(3)map<int, string> mp{{1,"a"},{2,"b"}};
(4)string s...
第四节 容器适配器
容器适配器没有迭代器!
1.stack
stack是后进先出的数据结构,只能插入、删除和访问栈顶的元素。可以用vector、list和deque来实现,缺省使用deque实现。用vector和deque实现,比用list实现性能...
第一节 关联容器
set/multiset/map/multimap
内部元素有序排列,新元素插入的位置决定于它的值,查找速度快。
除了各容器都有的函数外,还支持以下成员函数:
find: 查找等于某个值 的元素(x小于y和y小于x同时不...
第八周 标准模板库STL(一)
第一节 string类
1.关于string类
string类是模板类:typedef basic_string<char>string;实例出来的类。使用string类要包含头文件<string>。
string对象的初始化有以下几...
第七周:输入输出和模板
第一节 输入输出流相关的类
1.与输入输出流操作相关的类
图1.1 与输入输出流操作相关的类
istream是用于输入的流类,cin就是该类的对象;ostream是用于输出的流类,cout就是该类的对象;...
第六周:多态
第一节 虚函数和多态的基本概念
1.虚函数
在类的定义中,前面有virtual关键字的成员函数就是虚函数。
class base{
virtual int get();
}
int base::get(){}
virtual关键字只在类定义里的函数声明中...
第五周 继承
第一节 继承和派生
1.继承
继承是在定义一个新类B时,如果该类与某个已有类A相似(指B至少拥有A的全部特点),那么就把A作为一个基类,B作为基类的一个派生类。
派生类是通过对基类进行修改和扩充得...
第一节 运算符重载的基本概念
C++预定义的运算符,只能用于基本数据类型的运算。基本数据类型包括:整型、实型、字符型、逻辑型等。
在数学上,两个复数可以直接进行+、-运算,但是在C++中,直接将+、-用在复数对...
第一节 this指针
1.C++程序到C程序的翻译
图1 从C++到C
C++中的class在C语言中并不存在,因此可以用struct(结构体)来代替,成员变量也可以直接用域来代替,但是类中的成员函数却无法在C语言中直接表示,所以只...