C++基础复习——10.3类的构造与析构函数

构造与析构

构造函数是一种特殊的类成员函数,在创建类对象时被调用,构造函数的名称和类名相同,但通过函数重载,可以创建多个同名的构造函数,条件是每个函数的特征标(参数列表)不同。另外构造函数没有声明类型。通常,构造函数用于初始化类对象的成员,初始化应与构造函数的参数列表匹配。

构造与析构的行为(调用顺序)

#include <iostream>

using namespace std;

class Test 
{
    
    
public:
    Test(int number);
    ~Test();
private:
    int number_;
};

Test::Test(int number)
{
    
    
    number_ = number;
    cout << number << " construct, run" << endl;
}

Test::~Test()
{
    
    
    cout << number_ << " deconstruct, run" << endl;
}

int main()
{
    
    
	/* 无法使用对象来调用构造函数,因为在构造函数构造出对象之前,对象是不存在的,	
	构造函数被用来创建对象,而不能通过对象来调用 */
    Test t1(1);		
    Test t2(2);	
    std::cout << "Hello world" << std::endl;
    return 0;
}

当定义类时自动执行构造函数,当对象的声明周期结束时调用析构函数。构造与析构的执行顺序相反,调用t2系统函数,再调用t1析构函数,先创建的对象后释放。

猜你喜欢

转载自blog.csdn.net/gripex/article/details/105770611