其特征如下:
函数名与类名相同
无返回值(不需要写void)
对象实例化时编译器自动调用对应的构造函数
构造函数可以重载
如果类中没有显示定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,..., 编译器生成默认的构造函数会对自身类型成员调用它的默认成员函数
注意: C++11中针对内置类型成员不初始化的缺陷, 又打了补丁, 即: 内置类型成员变量在类中声明可以给默认值
无参的构造函数和全缺省的构造函数都称为默认构造函数...}
//但是编译器自动生成构造函数,只初始化内置类型,C++针对内置类型成员不初始化的缺陷,又打了补丁,
//即:内置类型成员变量在类中声明的时候可以给默认值
//总结一下:如果类中只有内置类型,自己写构造函数初始化...//如果类中只有自定义类型,使用编译器默认构造函数
//如果既有内置类型又有自定义类型,就给内置成员变量默认值,使用编译器默认构造函数
总结一下:
如果类中只有内置类型,自己写构造函数初始化
如果类中只有自定义类型...如果类中没有申请资源时,析构函数可以不写,直接使用编译器生成的默认析构函数,比如Date类;有资源申请时,一定要写,否则会造成资源泄漏,比如Stack类。