1、构造函数
Stock();
Stock(...,...,...)
构造函数名称和类名相同原型和函数头没有声明类型,没有返回值,用来创建对象(声明对象时自动调用构造函数然后分配存储空间)和初始化对象。上节中的图中代码示例如法对数据成员初始化,私有部分无法访问,只能通过构造函数初始化。
如果不声明构造函数,那么编译器会自动调用一个默认构造函数,该默认构造函数不做任何工作。如果在定义了构造函数,则必须再提供一个默认函数,提供的默认函数包括两种形式:(1)没有参数,但可以在后续定义该默认构造函数时对对象初始化;(2)所有的参数有默认值(所有参数)。这样,在声明对象时,既可以显式的进行初始化,也可以隐式的进行初始化。
2、析构函数
析构函数和类名一样,在名称前加~。对象过期时,自动调用析构函数完成清理工作。创建对象时,如果不是用new来分配内存,那么析构函数什么也不做;如果用new来分配内存,析构函数使用delete释放内存。
析构函数:~Stock();