1、 构造函数和析构函数的定义
每个类必须有默认的构造函数,没有构造函数就不能创建对象。若没有提供任何函数,那么C++自动提供一个默认的构造函数,该默认构造函数是一个没有参数的构造函数,它仅仅复制创建对象而不做任何赋值操作。只要类中提供了任意一个构造函数,那么C++就不再自动提供默认构造函数。析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随便调用,也没有重载,只有在类对象的生命周期结束的时候,由系统自动调用。二者的最大不同在于调用期不同,构造函数可以有参数,可以重载。
2、 构造函数和析构函数的应用注意事项
①如果构造函数没有参数,声明对象时不要带有括号。
②构造函数没有返回值,所以不能把它声明为void函数,尽管它实际上默认为void类型,也不能声明为void类型。
③对一个类而言,可以定义多个重载的构造函数,但是它们必须有完全不同的参数表。
④析构函数可以为virtual类型,而构造函数不能为virtual类型,是因为虚函数采用一种虚调用的办法,虚调用是一种在只有部分信息的情况下的工作机制,特别允许一个只知道接口而不知其准确对象类型的函数访问,但是要创建一个对象,就要知道其准确的类型,因此构造函数不可为虚。
⑤析构函数可以使内联函数
3、 实例代码
代码可参考随笔:
C++ primer plus第十一章 使用类的程序
想要获得更多内容,可点击
:《Visual C++代码参考与技巧大全》学习笔记——索引随笔