zoukankan      html  css  js  c++  java
  • 构造函数和析构函数

    一、构造函数

    类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。一般不在构造函数内声明变量

    构造函数可以有参数,也可以不带参数

    不带参数

    #include <iostream>
    #include <memory>
    using namespace std;
    class  ClassA
    {
    public:
        int num;
        ClassA()
        {
            num = 110;
            ans = 119;
            cnt = 120;
        };
        ~ClassA()
        {
            cout<<"~ClassA"<<endl;
        }
        int GetNum()
        {
            return ans;
        }
    private:
        int cnt = 10;
    
    protected:
        int ans;
    };
    int main() {
        //构造函数不带参数
        ClassA pclass;
        cout << pclass.num << endl;
        cout << pclass.GetNum() << endl;
        return 0;
    }

    带参数

    #include <iostream>
    #include <memory>
    using namespace std;
    class  ClassA
    {
    public:
        int num;
        //构造函数
        ClassA(int x,int y,int z)
        {
            num = x;
            ans = y;
            cnt = z;
        };
        //析构函数
        ~ClassA()
        {
            cout << "~ClassA" << endl;
        };
        int GetNum()
        {
            return ans;
        }
    private:
        int cnt = 10;
    
    protected:
        int ans;
    };
    int main() {
        //构造函数带参数
        ClassA pclass(110, 119, 120);
        cout << pclass.num << endl;
        cout << pclass.GetNum() << endl;
        return 0;
    }

    二、析构函数

    类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。

    析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。

  • 相关阅读:
    ubuntu15.04下安装配置docker
    在Vmware/VirtualBox虚拟机环境中正确打开虚拟机
    windows下使用cx_freeze将Python程序打包成exe可执行文件
    Python正则表达式学习小结
    Ubuntu环境下利用Python3+PyQt5+Eric6进行GUI编程
    C#学习笔记——控件篇
    商务英语学习第一课(lending(借贷))
    Ajax的请求方式:get和post
    XML就像是扩展应用范围的HTML
    JQ数组=jQuery对象数组
  • 原文地址:https://www.cnblogs.com/-citywall123/p/12696481.html
Copyright © 2011-2022 走看看