构造函数、重载、析构函数

一、什么是构造函数?

对象创建时,系统自动调用执行的成员函数,能够实现自动初始化的特殊函数。

  1. 构造函数的命名必须和类名完全相同,如果一个源文件中有多个类,那么构造函数必须与公共类同名,而一般的方法则不能和类名相同;
  2. 构造函数没有返回类型,也不能定义为void;
  3. 构造函数不能被直接(显式)调用,必须通过new运算符在创建对象时自动调用,而一般的方法在程序执行到该函数时才被调用。

二、什么是重载?

简言之,同名不同参,一个类可以有多个构造函数。

  1. 函数名必须相同;
  2. 方法的返回类型:可以相同,也可以不同;
  3. 参数不同:类型,个数,顺序。

动态构造函数可以重载,不带参数的构造函数可以将数据成员初始化为常量,携带多个参数的构造函数可以根据参数传递的值将数据成员初始化。

静态构造函数不允许携带参数,即一个类中只允许有一个静态构造函数。它在第一次访问静态成员或者第一次实例化动态该类的对象之前调用。 

三、什么是析构函数?

在函数名前面加一个位取反符~,对象生命周期结束时,系统自动调用执行的成员函数。析构函数没有返回值,没有参数,只能有一个析构函数,不能重载。如果用户没有写析构函数,编译系统会自动生成一个缺省的析构函数,释放构造函数分配给对象的内存。

转载于:https://www.cnblogs.com/camille666/archive/2011/10/01/construct.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值