您的位置:首页 > 编程语言 > C语言/C++

C++学习(六) C++构造函数与析构函数(一)

2017-12-04 13:06 260 查看
当声明一个 对象时,对象的状态(数据成员的取值)是不确定的。但对象表达了现实世界的实体,因此,一旦声明对象,必须有一个有意义的初始值。C++语言中有一个称为构造函数的特殊成员函数,它可自动进行对象的初始化,还有一个析构函数在对象撤销时执行清理任务,进行善后处理。

构造函数和析构函数是类中的两个特殊的成员函数,具有普通成员函数的许多共同特性,但还具有一些独特的特性,可以归纳成一下几点:

(1)它们都没有返回值说明,也就是定义构造函数和析构函数时不能指出函数返回值的类型,即使是void也不能有;

如果它们有返回值,要么编译器必须知道如何处理返回值,要么就只能由客户程序员自己来显式的调用构造函数与析构函数,这样一来,安全性就被人破坏了。


(2)它们不能被继承;

(3)和大多数C++函数一样,构造函数可以有默认参数;

(4)析构函数可以是虚的,但构造函数不可以是虚的;

(5)不可取它们的地址;

(6)不能用常规调用方法调用构造函数,当使用完全的限定名(带对象名、类名和函数名)时可以调用析构函数。比较特殊地是,在对象数组中,初始化数组元素时可以显式调用成员函数;

(7)当定义对象时,编译程序自动调用构造函数;当删除对象时,编译程序自动调用析构函数;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: