1、

#include<cmath>

#include<cstdio>

用这种方法来调用C语言中的函数
2、namespace 名字空间,防止命名重复
::叫做限定调用符
using namespace X :引入整个名字空间
using X:: name 使用单个名字
X::name 在程序中加上名字空间前缀
3、#include<iostream>
using namespace std std意味着标准名字空间
4、变量定义 “即用即定义”
临时变量定义的作用范围为程序块中,使用“{}”包含
5、引用类型:一个变量是另一个变量的别名
使用引用可以在函数中修改形参就可以实现对实参的修改,引用可以提高效率
6、inline 内联函数 给编译器声明
给编译器用,代码替换,减少执行时内存的开销
7、try-catch处理异常
throw 抛出值,try catch配合使用,抛出不同类型值需要不用的catch承接。
8、默认形参:形参带有默认值时放在形参最右边
9、函数重载,C++允许函数同名,形参需要不同根据输入参数确认调用那个函数,但是不能根据返回类型区别函数
10、运算符重载:没看懂
11、模板 template 函数:厌倦了对每种类型求最小值,举例:

template<class T> "T"为泛指类型
T minValue(T a,T b)
{
    if(a<b)return a;
    else return b;
}

不能同时传入两个不同类型的数据。
12、动态内存分配
new与delete //堆存储区
可以对类对象调用初始化构造函数或销毁析构函数
与C语言中的内存申请差不多
13、类 在C的struct类型上,增加了“成员函数”
C++中的struct是为了兼容C++,并不建议使用
14、自引用,成员函数重载运算符

struct Data{
Data& add(int dd)
d=d+dd;
return *this;
};
Data.add(7)add(4);

15、构造函数与析构函数:
构造函数在结构体中定义一个与结构体名称相同的函数,析构函数可以用来初始化,申请内存。
例如:Data day(4.6.1999);
若内有定义构造函数,则编译器对定义一个默认的构造函数;
析构函数:用来释放内存

virtual ~student(){delete name};

在数据使用完毕之后必须释放内存不然会造成内存泄漏。
16、访问控制与接口
class定义的成员默认是私有的
struct定义的成员默认是公开的
class可以通过公开成员去访问修改私有成员
17 拷贝:拷贝构造函数,赋值运算符(使用地方应该不多,不过多讲解)
18、在类外定义成员函数
所有的成员函数都必须在类声明之后才能在类外定义,在外部定义一定要加上作用域
19、类模板
templete
用T代表可能出现的类型,泛型
使用时,Array <int> t(n)
Array:类名
int:编译器把所有的T替换为int型。
20、typedef int INT ;//只能用来类型定义
21、string-vector string的所有用法
22、派生类:
派生类从已有的类继承而来,如:

class Manager:public Employee
{
}

派生类只能通过初始化基类,不能操作访问基类的成员函数
23、虚函数和多态
派生类的指针可以自动转化成基类指针,基类指针在调用派生类函数时依然调用基类函数,使用虚函数防止该种情况,实现了多态。
应当根据类的实际调用函数。
24、多重派生···
未完待续