类的拷贝构造函数主要用途是加快以下情况下类的构建速度:
- 作为参数传给函数。(additem(Itema))
- 作为函数返回值。
- 实例化类时作参数。
这三种情况下都是由系统直接调用类的拷贝构造函数而不是构造函数。
注意:C=D;不会调用拷贝构造函数,这种情况下使用的是重载‘=’运算符的方法。(详见运算符重载);
由于C中定义struct变量的时候,使用的全部是指针,不会用到拷贝构造函数,所以暂不考虑。对于原来函数参数或者返回值需要类变量的,要全部转化为类指针的方式。实例化类时作参数的情况,可以通过另外定义一个带参数的构造函数来解决。
C++的源程序改写成C语言类的拷贝构造函数
原文:https://blog.51cto.com/14863804/2509440