1、构造函数的意义:(1)由于类的部分成员是私有的,若程序需要对其进行初始化,只有通过成员函数实现。(2)在声明对象时自动调用构造函数。
2、构造函数没有返回值,但不被声明为void,即没有声明类型。
3、每次创建类对象(甚至使用 new 动态分配内存时,C++都会使用构造函数)
4、无法使用对象来调用构造函数,在构造函数构造出对象之前,对象是不存在的。
5、用户没有自己定义构造函数,在声明对象时也会有默认的构造函数被调用。一旦声明构造函数后,编译器不再提供默认构造函数,需要自行提供,否则将编译出错。
6、构造函数可以重载,即可以同时拥有多个构造函数,根据调用匹配相应构造函数。
7、析构函数没有参数。
8、调用析构函数的时机由编译器决定,通常不在代码中显式调用。(1)静态型对象在程序结束时自动调用。(2)动态对象在代码块执行完时调用。(3)new创建对象会驻留在栈或自由存储区,使用delete释放内存时调用析构函数。
9、编译器也会提供默认析构函数(若程序员没有自己定义)。
10、如果对象持续到main函数结束,虽然依然会在main函数结束后调用析构函数,但在窗口环境中无法看到析构函数的输出。
11、两个对象之间赋值,不会调用构造函数。
12、当对象已经存在,再次调用构造函数重新赋值时,编译器是通过让构造函数创建一个新的、临时对象,然后将其内容复制非目标对象,随后调用析构函数删除临