1.构造函数尽量被声明为explicit,这样可以阻止它们被用来执行隐式类型转换(implicit type conversions),但它们仍可被用来进行显示类型转换(explicit type conversions)(P5)。
2.拷贝构造函数:
(1)拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它必须的一个参数是本类型的一个引用变量
(2)编译器会给我们自动产生一个拷贝构造函数,这就是“默认拷贝构造函数”,这个构造函数很简单,仅仅使用“老对象”的数据成员的值对“新对象”的数据成员一一进行赋值。
(3)我们都知道,在C++中建立一个类,这个类中肯定会包括构造函数、析构函数、复制构造函数和重载赋值操作;即使在你没有明确定义的情况下,编译器也会给你生成这样的四个函数。例如以下类:
class CTest
{
public:
CTest();
~CTest();
CTest(const CTest &);
void operator=(const CTest &);
};关于拷贝构造函数和拷贝复制操作符的更详细说明可参考博客
http://blog.csdn.net/lwbeyond/article/details/6202256和
http://www.jb51.net/article/55993.htm。
转载请注明原文地址: https://ju.6miu.com/read-700149.html