c++基础语法:构造函数与析构函数
类似于java,如果用户自己没有定义构造函数,那么编译器会自动生成一个默认的构造函数,只是这个构造函数的函数体是空的。以上两种写法是等价的。构造函数的主要目的是用于对成员变量进行初始化, 为了达到这个目的,可以在构造函数的函数体中对成员变量一一赋值,还可以采用参数初始化表。构造函数和析构函数对于类来说是不可或缺的,所以在C++中我们非常鼓励使用 new 和 delete。在多态的情况下,如果A,B中的析构函数都不是虚析构函数,则当delete ptr的时候先调用B的析构函数,再调A的析构函数,不会调用C中的析构函数,如果A或者B中至少有一个是虚析构函数,则析构函数调用和一般情况一样。
用户评论