标准C++复习

 第二章 数据输入与输出

第三章C++基础

第四章 类与对象

第五章 继承

5.4派生类的构造函数只负责直接基类初始化

    但虚拟继承中,存间接虚基类,须负责初始化

 

5.5单,多继承调用次序:基类--对象成员--派生类构造函数

 

5.6 class 派生类名:virtual [继承方式] 基类名1 ...{};

     虚拟继承 解决命名冲突 使基类成员在派生类中只有一份备份

 

6.1 operator  运算符函数

    不需要重载的运算符:= & . ->

 

6.2 类成员运算符重载:参数个数要比该运算符实际的参数少一个 

    一元运算符作为类成员函数重载时不需要参数

 

6.3 类的友元运算符重载 需要的参数与运算符的实际参数相同

    重载二元运算符第一个参数,不会对类成员运算符函数进行任何隐式转换

 

6.5 ++,--:前缀运算符采用常规的重载方法,后缀运算符在运算符函数参数表中增加一个无用的形参

 

6.6重载=:防止指针悬挂 operator=

只能被重载为成员函数,不能被重载为友元,不能被继承

 

6.7 X& operator[](int n);//重载[]

    可以检查数组大小,下标值是否越界,禁止为越界访问以建立安全的数组

为二元运算符 第一个参数为this,第二个为数组的下标

返回引用可以在赋值符的左边调用

只能重载为非静态成员函数,不能为友元和普通函数

 

6.8 虚函数 只有类的成员函数才能被定义为虚函数(类的非静态成员)

 程序运行时才确定调用函数的功能 在派生类继承应用为虚函数

实现多态性需要通过基类指针或引用调用派生类对象

 

6.9不能为虚函数:构造析构函数,静态成员,内联函数等

 

6.10 dynamic_cast:基类必须是多态的,即基类必须至少有一个虚函数

 

6.11头文件typeinfo中:typeid(exp)

在程序运行时判定一个对象的真实数据类型

 

7.2.1 template<class T1,class T2,...>返回类型 函数名(参数表){...}

//不允许template语句与函数模板定义之间有任何其它语句

//为了区分,用typename代替class,它们是等价的

 

7.2.3 模板参数

//模板调用时进行参数类型的强制转换

//将参数的实际类型写在调用函数名后面一对<>中

//多个模板

//模板参数:1)类型参数:class,typename

//2)非类型参数:指某种具体的数据类型,不允许用浮点型、类 对象、void

 

7.3 template<class T1,class T2,...>class 类名{...}

//class可用typename代替

 

7.4 STL标准模板库:

1)容器container(类模板实现):顺序容器:vector,list,deque

关联容器:set,multiset,map,multimap

容器适配器:stack,queue

String

//less<数据类型>:默认,排序方式从小到大

//greater<数据类型>:从大到小排序

//set、map不允许元素重复,multiset、multimap允许

//make_pair(e1,e2);//构造map/multimap的<键,值>

//映射的迭代器数据成员:first访问键,second访问值

//map可用键作为数组下标访问元素,multimap不允许

  1. 迭代器iterator:一个对象,用来遍历容器,”取得下一个元素”
  2. 算法:STL大约提供了70个算法//include <algorithm>

//find(beg,end,value):查找指定数据在某个区间是否存在

//count(beg,end,value):统计某个值在指定区间出现的次数

//search(beg1,end1,beg2,end2):从一个容器查找由另一个容 器所指定的顺序值

//merge(beg1,end1,beg2,end2,dest):合并2个容器

//sort(beg,end):从小到大对元素排序

 

8.2 try用于监测可能发生的异常,throw抛出异常,catch捕获 并处理由throw抛出的异常

//try和catch块之间不能有其它语句

 

8.3 可以将产生异常的程序放在一个函数,检测处理异常的函数 代码放在另一个函数、

 

8.4 catch(...){}//3个点表示可以匹配任何异常类型

//有多个catch块,要放在最后面

//catch块可以再次抛出异常,块中添加不带任何参数的throw 语句

  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值