• 构造函数 & 析构函数
  • 拷贝构造函数
  • 友元函数(可以访问类的 private 和 protected 成员)
    • 不能被继承
    • 没有 this 指针
  • 内联函数编译时。编译器会把该函数的代码副本放置在备个调用该函数的地方):主要是为了解决函数调用的问题,对于普通的函数,是在运行时才被替代。
  • 虚函数:(在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数。)
    • 例如:A* a = new B(); a.fn(),其中 B 类继承 A。实际调用的是 b 的 fn,虽然指针指向 A。
  • 纯虚函数(接口):如果类中至少有一个函数被声明为纯虚函数,那么这个类就是抽象类。
  • 成员函数的定义:ReturnType ClassName :: FunctionName
  • 运算符:
    • ·:成员访问运算符
    • ·*->* 成员指针访问运算符
    • ::域运算符
  • 命名空间:为了避免调用同名函数
    • 嵌套命名空间
    • 命名空间成员的访问,双冒号
    • using 指令 ```javascript

      include

      using namespace std;

// 第一个命名空间 namespace first_space{ void func(){ cout << “Inside first_space” << endl; } } // 第二个命名空间 namespace second_space{ void func(){ cout << “Inside second_space” << endl; } } int main () {

// 调用第一个命名空间中的函数 first_space::func();

// 调用第二个命名空间中的函数 second_space::func();

return 0; }

  1. - 模板 template(泛型)
  2. - 函数模版
  3. - 类模板
  4. ```javascript
  5. template <typename type> ret-type func-name(parameter list)
  6. {
  7. // 函数的主体
  8. }
    • 替代文本: #define macro-name replacement-text
    • 参数宏:#defineMIN(a,b)(a<b ? a : b)
    • 条件编译
  • 标准模板库:STL
    • 容器::deque,list,vector,map
    • 算法:排序、转换等
    • 迭代器


  • ·