1. 类:代码区
    2. 静态变量:静态存储区
    3. 函数入口:代码区

    关于类的内容都在模型上方那一块

    1. 对象:只是给成员变量分配空间
    2. 静态成员变量:静态存储区
    3. 非静态成员变量:栈区
    4. 函数入口:代码区

    5. 访问对象成员(属性)的本质:

    6. 对象调用成员函数(方法)的本质:把对象的地址作为参数进行函数调用

    ==============================
    难点:

    1. 全局函数,成员函数
      1. 全局函数声明,全局函数定义
      2. 成员函数声明,全局函数定义,class_name::func_name
    2. 具体实现写在外面:声明在class里,定义在class外,仍然可以访问private(如果不写声明就是错误的)
    3. this:就是个形参
    4. 传&:传值的本质是赋值,不可传本地变量的引用
    5. 返回&:返回值的本质:赋值
      1. string& getName() {return name;} 也可传string
      2. string getName() const {return name(this->name);} 不可传string&
    6. const:
      1. 修饰变量,类
      2. 修饰函数体:本质是修饰this指针
    7. private:背后有张作用域的图

      友元:在友元中就相当于在类里面

    1. 类,对象,成员变量,成员函数,public/private/protected

    2. 构造函数,析构函数:初始化,结束

    3. BigThree:

    • 默认构造函数(无参构造)
    • 默认拷贝构造(拷贝构造)
    • 默认析构函数(无参析构)
    • 默认赋值(=)
    1. this指针:就是个函数参数(形参),调用成员函数就是在传参,传的是&object(实参)

    每个成员函数:void fun(void) 的本质形式是 void fun(className *this)
    对象调用成员函数的本质:把对象作为参数传入,object.fun() 的本质形式是 fun(&object)
    传参的过程:className* this = &object

    (1)当成员函数的参数名和成员变量一致时,可以使用this进行区分
    (2)return *this 从而返回调用成员函数的对象

    1. 成员变量私有,提供对外接口
    2. 构造函数的初始化,析构函数
    3. 成员函数写声明
      1. 具体实现写在外面:声明在class里,定义在class外,仍然可以访问private(如果不写声明就是错误的)
      2. inline
      3. const:参数,常值函数(const修饰this,让this指向的内容不可被改变)
      4. &:参数,返回值
      5. this作为隐含参数
    1. 友元
      1. 别的类做友元:表示在class2中可以访问class1的私有变量
      2. 别的成员函数做友元:表示在class2的那个函数中可以访问class1的私有变量
      3. 全局函数做友元:表示在全局函数中可以访问class的私有变量
    1. 函数重载,运算符重载:将运算符重载视为函数重载
      1. 通过成员函数进行重载:p.opeator<<(cout) —-> p << cout
        1. 有的运算不能使用成员函数进行重载
      2. 通过全局函数进行重载:<<(cout, p) —-> cout << p
        1. 由于成员变量是私有的,因此需要将该全局函数变成友元
      3. 简化调用:
    1. 仿函数 ```cpp class MyPrint{ public: void operator () (string str){
      1. cout << str << endl;
      } };

    void myPrint(string str){ cout << str << endl; }

    int main() { //仿函数调用 MyPrint mp; mp.operator()(“hello”); mp(“hello”);

    //匿名对象 
    MyPrint()("hello");
    
    //函数调用 
    myPrint("hello");
    
    return 0;
    

    } ```

    1. 继承

    2. 多态