任意一个类有会有其对象被初始化的方法,主要通过一个或几个特殊的成员函数来控制,而这些函数就叫做构造函数
特点 :
1.构造函数的名字与类名相同,但是不需要返回类型
2.一个类可以有一个或多个构造函数,与重载函数差不多
3.构造函数不可以被声明为const,因为当创建类的const对象时,直至对象初始化结束,对象才会真正获得const常量属性,所以构造函数可以对const对象的构造过程中写值
4.如果没有特意写构造函数,系统会自动生产默认构造函数,但如果自己写了,那么就必须通过自己写的一个或数个构造函数来实现对象的初始化
5.有些编译器可以支持类内初始值,例如
class example {
int a=666;
};
但是如果不支持,那么就需要构造函数初始化列表
class example {
int a;
example(int x):a(x)
{}
};
也就是冒号:后的部分
当然也可以函数内直接赋值
class example {
int a;
example(int x)
{
a=x;
}
};
拷贝即初始化变量以及以值的方式传递或返回一个对象
赋值即默认将所有的成员的值传递给新的对象
析构:一个局部对象在创建它的块结束时被销毁