当创建对象时,自动调用构造函数,构造函数名字与类名相同,没有返回类型和返回值
一、构造函数作用
1.给对象一个标识符
2.为数据成员开辟内存空间
3.完成数据成员的初始化工作(函数体内的工作,由程序员完成)
二、构造函数分类
构造函数分为有参构造和无参构造,并且构造函数支持重载,其中构造函数重载,在创建对象的时候,会根据传递的具体参数决定采用哪一个构造函数;
三、初始化表达式
point(int x, int y)
{
cout << "有参构造函数的调用" << endl;
xpos = x;
ypos = y;
}
上方等价于下方
point(int x, int y) :xpos(x), ypos(y)
{
cout << "有参构造函数的调用" << endl;
}
构造函数的头:point(int x, int y)
构造函数的体:
{
cout << "有参构造函数的调用" << endl;
}
成员初始化表顺序
四、析构函数
构造函数在创建对象时被系统调用,析构函数在对象被撤销时被自动调用
五、拷贝构造函数
object b = a; 中的“=”为构造不是赋值