• 【心得】面向对象_1


    构造函数

    • 类自带两种构造函数:拷贝构造函数与无参构造函数。
    • 类有3种构造函数:一般构造函数,复制构造函数,转换构造函数。
    • 自己写的任何一个构造函数都会让类自带的对应种类的构造函数失效。
    • 构造函数的其他写法:Base(int a, int b) :age(a), name(b) {};
    • 构造函数的调用方法:
      • 基础方法
        • Base one(...,...,...)
        • Base one=new Base(...,...,...)
      • 无参构造函数:Base(){};
        • Base one
      • 转换构造函数:Base(int a){};
        • Base one = 1
      • 鬼畜的转换构造函数:Base(int a,int b){};
        • Base one = {1,2}; ???不是很能理解为什么可以这么写???
      • 不能是转换构造函数的一般构造函数:explicit Base(int a){};
    • 默认的拷贝构造函数是浅拷贝,就是说把函数的指针指向要拷贝的类的内存。
    • 继承中的构造函数 TODO

    析构函数

    • 虚析构函数 :
      • 当父类的析构函数不声明成虚析构函数的时候,当子类继承父类,父类的指针指向子类时,delete掉父类的指针,只调动父类的析构函数,而不调动子类的析构函数。
      • 当父类的析构函数声明成虚析构函数的时候,当子类继承父类,父类的指针指向子类时,delete掉父类的指针,先调动子类的析构函数,再调动父类的析构函数。
    • 继承中的析构函数 TODO

    staic

    • 所有的静态变量都等于一个全局变量。
    • 静态变量的生存周期为整个程序。
    • 静态局部变量的和普通局部变量一个,只能在那个局部被调用。
    • 静态全局变量只能在同一个文件内被调用。(可以避免不同文件的相同变量的链接错误)
    • 类静态成员变量只能在类外初始化。
    • 类静态成员变量对于所有的类只有一份。
    • 类静态成员函数只能调用类里的静态变量。
  • 相关阅读:
    bcrypt加密算法原理和应用
    spring security 防止iframes攻击
    angularjs在eclipse下不要随意ctrl+shift+f缩进代码
    第五章 容器之元组
    第五章 容器之列表
    第四章 函数
    第3章 编程概论
    mysql排序分组
    数据表的基本操作
    数据库基本操作
  • 原文地址:https://www.cnblogs.com/jhy16193335/p/9162134.html
Copyright © 2020-2023  润新知