今天看 c++primer 3rd,构造和析构函数时,对以前一些想不明白的问题,突然有了点想法。
1、为什么构造函数可以有多个,而析构函数只能有一个?
因为析构函数的作用就是释放资源,它不知道自己是由哪一个构造函数创建的,因此,也就没有参数,所以只能有一个,而不能被重载。
这在原理上也是讲得通的,一个对象,产生的时候可以有多种方法,但结束只有一种,因为没有信息保存它是如何产生的。
今天看 c++primer 3rd,构造和析构函数时,对以前一些想不明白的问题,突然有了点想法。
1、为什么构造函数可以有多个,而析构函数只能有一个?
因为析构函数的作用就是释放资源,它不知道自己是由哪一个构造函数创建的,因此,也就没有参数,所以只能有一个,而不能被重载。
这在原理上也是讲得通的,一个对象,产生的时候可以有多种方法,但结束只有一种,因为没有信息保存它是如何产生的。