构造函数
类内含有的构造函数,只是进行创建对象,不进行初始化。
构造函数可以重载为多个,满足需求,但是不可以手动调用。
构造函数没有返回值类型,函数名字与类的名字相同,在创建对象时,系统自动调用。
构造函数又有初始化列表,在含有常量数据、类类型、引用的时候,必须使用初始化列表。
析构函数
没有返回值类型和参数,且只能有一个析构函数。
默认的析构函数是进行浅拷贝,也就是地址拷贝,若类型的数据中含有指针类型,必须重写析构函数,否则,可能会导致内存泄漏。
析构函数那不可以重载,可以进行手动调用。
复制构造函数
复制构造函数的返回值是类型加&,参数是const & 对象。
若是将子类初始化父类对象,则调用父类的拷贝构造函数
使用拷贝构造函数的情况:
1.用存在的对象初始化另一个对象
2.当函数的参数是类的对象
3.函数的返回值是类的对象
若类的数据类型包含指针,则需要重写拷贝构造函数,用new,否则拷贝是浅拷贝,只是进行地址拷贝,析构会二次释放。
赋值运算符重载函数
在类中如果没有初始化化列表,则用一个对象初始化新对象时,会先调用构造函数,然后调用赋值运算符重载函数,若含有初始化列表,则只调用拷贝构造函数。
https://blog.csdn.net/baidu_35679960/article/details/78929018
版权声明:本文为qq_43598865原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。