构造函数和析构函数:
定义:构造函数和析构函数,这两个函数会被编译器自动调用,完成对象初始化和清理工作。
区别:
构造函数:用于创建对象时我对象的成员属性赋值。他由编译器自动调用。
析构函数:用于对象销毁前系统自动调用。
构造函数语法: 类名 ( ) { }
1、构造函数,没有返回值也不写void;
2、函数名称和类名相同;
3、可以有参数,因此可以发生重载。
析构函数语法: ~类名 () { }
1、析构函数没有返回值也不写void;
2、函数名称与类名相同,在名称前加 ~;
3、不可以有参数,因此不可以发生重载。
构造和析构的顺序:
1、构造与虚构的顺序相反;
2、初始化成员变量默认是从上之下,与初始化列表无关
#include <iostream>
#include <string>
#include <string.h>
using namespace std;
class Student
{
public:
Student()
{
m_name = new char[20]; //开辟
}
~Student()