一、构造函数
进入主函数时,已经为对象分配了空间,但没有调用构造函数,空间中这个对象并没有产生。
空间分配了不一定有对象,必须要调动构造函数
int main()
{
CGoods tea("Black tea",12,560);
CGoods book("C++",98);
CGoods car;
CGoods obj();//被认定为函数的声明,不是对象
return 0;
}
在定义对象时,有括号,必须给出实参; 如果想调动缺省构造函数,必须没有括号。
二、析构函数
析构函数不带任何参数。
对象注销时,系统自动调用析构函数。如果类说明中没有给出析构函数,则C++编译器自动给出一个缺省的析构函数。如~类名(){}
delete调动析构函数
三、关系
构造函数只能被调动一次,由系统调动,当对象生存期到了,系统也可以调动析构函数释放对象。
对象可以自己调动析构函数,不能自己调动构造函数。