C++拷贝函数

point pt1(2,3);
point pt2=pt1;

后一个语句也可写成:

point pt2( pt1);

上述语句用pt1初始化pt2,相当于将pt1中每个数据成员的值复制到pt2中,这是表面现象。实际上,系统调用了一个复制构造函数。如果类定义中没有显式定义该复制构造函数时,编译器会隐式定义一个缺省的复制构造函数,它是一个inline、public的成员函数,其原型形式为: 类名::类名(const 类名 &) 如:

point:: point (const point &);

注意:当我们自己定义了有参构造函数时,系统不再提供默认构造函数。这是容易忽略的一点。