C++
1. C部分(结构化程序设计部分)
数据类型 和 变量
运算符
算术
关系
逻辑
位运算
控制流程
顺序
选择 if else
switch case
循环
while
for
do while
函数
高级概念
自定义数据类型
结构体
共用体
枚举
指针
2. 面向对象(object oriented OO)
类封装:
类:是具有相同属性和行为(methold 方法)的一类事物的抽象
人为概念
对象: 类的一个个体
实际存在
访问控制修饰符:
public 公有,类内外都能使用
private 私有,类内使用
protected 保护私有,允许继承(类内使用)
构造函数:
类的特殊行为(方法),它在类实例化一个对象时,由系统自动调用,完成对象的初始化工作
析构函数:
类的特殊行为(方法),它在类的一个对象被析构(销毁)时,由系统自动调用,完成对象的清理工作
new malloc
delete delete[] free
const :类内部声明时,不能赋初值,必须构造函数的初始化列表中赋初值,不能在构造函数内部赋初值
static: 静态成员,必须在类的内部声明,但是初始化必须在类的外部,主函数开始之前
静态函数
this
友元:
友函数:
友函数来自于外部,被声明为本类的朋友
友函数 可能是全局的函数
也可能是另外类的成员函数(声明逻辑顺序)
友函数有权利访问类的私有和保护的成员
友类
友元声明是单向的
引用
拷贝构造函数
异常处理
继承
(1)
成员变量 基类中本身的访问控制属性 + 继承方式
--> 被继承之后在子类中访问控制属性
成员函数
(2)
构造和析构的顺序
如何控制在构造一个子类对象时候,调用哪一个基类的构造函数?
(3)
成员变量
成员函数 -->被覆盖
(4)
多继承---虚基类
多态
重载
函数重载
1. 函数名相同,但是参数不同(类型不同,或个数不同)
2. 这一组函数必须在相同的作用域内
3. 返回值不作为判断依据
--拷贝构造函数
运算符重载
1. 一元运算符
++ -- (前缀和后缀)
2. 二元运算符
= 拷贝构造函数
虚拟
虚拟性
1.什么是虚拟性?
在用一个指针调用一个函数时候,不是根据指针的类型去确定调用哪一个函数,
而是根据指针当前指向的对象的类型去调用相应的函数---虚拟性
2.如何实现虚拟性?
(1)基类 virtual函数
(2) 派生,在派生类对虚函数进行改写
(3)基类的指针或引用去指向子类的对象,然后用这个指针(引用)去调用虚函数,虚拟性就产生了
3.在软件设计过程中,利用虚拟性?
4.讨论
纯虚函数
抽象类
3.泛型程序设计(Generic Programming)
模板
函数模板
类模板
C++标准库
标准模板库(std):
容器:
顺序容器
vector list
关联容器
map set
迭代器 iterator
算法 algorithm
sort
4. IO流
流的概念
IO流体系结构
标准输入和输出流(stream)
cin
cout
cin cout 对象成员方法
get()
getline()
read()
ignore()
文件流
ifstream
ofstream
自定义类上的IO
重载 <<
重载 >>
说的不全的希望精通C++的人们来补充重要内容,这作为一个学习C++应该有的一个学习大纲。对掌握核心内容基本知识很有用处。