1、构造函数:给对象属性赋初值(开辟空间,初始化)
特征:
1)和类名完全相同
2)没有返回值
3)可以带参数,也可以没有(默认构造函数)
4)必须是(public)公有类型:创建对象会自动调用构造函数,如果不是 public,对象不会创建成功
作用:对创建出的对象进行初始化
特点:1)不会被显示调用,构造函数在对象创建的时候自动调用
2)总是返回一个类的对象
3)当自定义了一个构造函数时。编译器将不会提供默认构造函数(无参)
创建对象时,有几个参数,就自动调用带有几个形参的构造函数
当程序中没有构造函数时,编译器自动提供一个无参构造函数,如果自定义任何一个构造函数,则编译器不再提供无参构造函数
构造函数:不传递任何参数就可以被调用的函数
构造函数和类型转换:当构造函数只有一个参数,可以做转换工作
2、拷贝构造函数:通过复制一个已经存在的对象创建新的对像(参数是一个对象) Point(Point &c)(拷贝构造函数参数一定是一个引用,否则可能会导致死循环)
调用情况:1)用一个对象初始化另一个对象
classname Object(otherObject) / classname Object = otherObject; // 拷贝构造函数