C++构造函数概念作用
作用:
对对象进行初始化,如给成员变量赋初值,而不用专门再写初始化函数。
防止有些对象没被初始化就使用,导致程序出错。
要求:
名字与类名相同,可以有参数,但不能有返回值(void也不行)
编译时:
若没有构造函数,则编译器生成一个默认的无参数的构造函数,不做任何操作
如果定义了构造函数,则编译器不生成默认的无参数的构造函数
运行时:
构造函数在对象生成时自动调用,有且仅有运行一次。
构造函数不开辟存储空间,而是对已经分配的的对象存储空间(成员、属性)进行初始化。
注意:
构造函数最好是public的,Private的构造函数不能直接用来初始化对象。定义成private会导致此类不能直接被外部实例化。如果需要创建对象就需要提供一个static方法来访问本身的构造函数。