什么是构造函数?构造函数可以重载吗?为什么?

来源:百度知道 编辑:UC知道 时间:2024/05/09 17:54:06
谢谢!

上面那个太多了,明显是网上摘的,我的解释是:构造函数就是与类名有相同名称的成员函数,即:类名是a,该类中含有名字为a的成员函数,构造函数是可以重载的。

楼上的牛人啊
构造函数就是 public 类名(参数列表)
{
//方法主体
}
它在你new 这个类的对象的时候被自动调用,就这么简单,一般用于给对象初始化的时候赋值或者读取配置文件备用

与类名称具有一样名称的成员函数是构造函数。构造函数不能有返回值,甚至不能有return语句。说明一个有返回值的构造函数是错误的,取构造函数的地址也是错误的。
如果一个类有构造函数,在程序中每个该类类型的对象在使用之前由此构造函数进行初始化(有关初始化的更多信息参见本章后面的“用特殊成员函数进行初始化”)。

构造函数是在对象的创建点上被调用的。创建对象可以是:

* 全局对象(文件范围或外部链接的)。

* 在一个函数或者小的封闭块中的局部变量。

* 用new运算符创建的动态对象。new操作在程序的堆或自由存储区中分配一个对象。

* 因显式调用构造函数而创建的临时对象(详见本章后面的“临时对象”)。

* 因编译器隐含调用构造函数而创建的临时对象(详见本章后面的“临时对象”)。

* 其它类的数据成员。在创建类类型的对象时,若此类类型由其它类类型变量组成,将会引起该类中每个对象的创建。

* 一个类的基类子对象。创建派生类类型的对象时会引起基类构件的创建。

构造函数的作用

一个构造函数执行各种任务,但对于程序员来说,这些任务是不可见的,你甚至可以不必为构造函数写任何代码。这些任务都同建立一个完全的、正确的类类型对象实例有关。

在MS C++中(同样也在很多其它C++中)一个构造函数:

* 初始化对象的虚拟基指针(vbptr)。如果该类是由虚拟基类派生出的,则