• 八、C++ 类的构造函数和析构函数


    一、构造函数和析构函数

    1.1 构造函数

    类的构造函数是类的一种特殊的成员函数,它会在创建新的类的对象时执行

    • 特点:
      • 与类的名称完全相同
      • 不返回任何类型
      • 可以带参数,也可以不带参数
    • 作用:
      • 为某些成员函数设置初始值
      • 在C++中,可以使用构造函数的具体实现来初始化参数,也可以使用初始化列表来初始化字段

    1.2 析构函数

    类的析构函数会在每次删除所创建的对象时执行

    • 特点:

      • 与类的名称相同,只是在前面加~
      • 不带参数,不返回任何值
    • 作用:

      • 跳出程序前释放资源
    • 代码实现:

      #include 
      
      using namespace std;
      
      class test
      {
      public:
          // 声明类的构造函数
          test(int a, int b, int c);
          // 声明类的析构函数
          ~test();
          int A;
          int B;
          int C;
      };
      /*************************************
       * 通过构造函数初始化成员函数参数
       *************************************/
      
      // 法一:通过构造函数内部实现进行赋值
      // test::test(int a, int b, int c)
      // {
      //     cout << "This is 构造函数!" << endl;
      //     // this->A = a;
      //     // this->B = b;
      //     // this->C = c;
      //     A = a;
      //     B = b;
      //     C = c;
      // }
      
      // 法二:通过初始化列表来初始化字段
      // 注意:通过该方法初始化时,必须按照变量的顺序来
      // 初始化变量,否则用后面的变量初始化前面的变量会
      // 导致前面的变量默认为0
      test::test(int a, int b, int c) : A(a), B(b), C(c)
      {
          cout << "每次创建类的对象,都会自动执行类的构造函数!" << endl;
      }
      
      
      test::~test()
      {
          cout << "程序结束,释放资源" << endl;
      }
      int main()
      {
          test t1(10, 21, 30);
          cout << "A:" << t1.A << endl;
          cout << "B:" << t1.B << endl;
          cout << "C:" << t1.C << endl;
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40
      • 41
      • 42
      • 43
      • 44
      • 45
      • 46
      • 47
      • 48
      • 49
      • 50
      • 51
      • 52
    • 运行结果:

      每次创建类的对象,都会自动执行类的构造函数!
      A:10
      B:21
      C:30
      程序结束,释放资源
      
      • 1
      • 2
      • 3
      • 4
      • 5
  • 相关阅读:
    28.【继承与派生 (详解)】
    (附源码)ssm日语学习系统 毕业设计 271621
    转行UI设计必看的5个建议优漫动游
    python转义大括号的作用
    ubuntu(18.04)中安装open babel docker镜像并在php项目中调用容器中的obabel命令解析结果使用
    GO七天开发挑战:7天实现Web框架-Gee(day 4 分组控制Group)
    Tomcat架构详解
    12、 学习MySQL 排序
    JS最新的关键字和保留字
    iOS基础小结(一)
  • 原文地址:https://blog.csdn.net/qq_43280851/article/details/128089415