构造函数进行初始化

  1. 构造函数
  2. 没有返回值 不用写void
  3. 函数名 与类名相同
  4. 构造函数可以有参数可以发生重载
  5. 创建对象会自动调用一次且仅有一次(初始化)

构造函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Person
{


public:



Person()
{
cout << "Person" << endl;
}

};

初始化会执行 cout << "Person" << endl; 一次

1
2
3
4
5
6
7
8
9
10
11
void test01()
{
Person p; //执行完自动调用析构函数


}

int main()
{
test01();
}

析构函数

  1. 会进行清理操作
  2. 在函数名前加~即可
  3. 无参数 不重载
  4. 对象销毁前自动调用且只有一次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Person
{


public:



Person()
{
cout << "Person构造函数" << endl;
}
~Person() //析构函数就算不加执行完也会空实现的析构函数创建,构造函数同理
{
cout << "Person析构函数" << endl;
}

};
1
2
3
4
5
6
7
8
int main()
{
Person p; //执行构造
//test01(); //test函数调用完析构
system("pause");
return 0; //析构函数

}