拷贝构造函数及应用拷贝构造函数及应用人员类人员类电话用户服务类电话用户服务类引引 用用 C+函数中参数的传递方式是传值。在函数域中为参数重新分配内存,而把实参的数值传递到新分配的内存中。它的优点是有效避免函数的副作用。 如果要求改变实参的值,怎么办呢?如果实参是一个复杂的对象,重新分配内存会引起程序执行效率大大下降,怎么办呢?在C+中有一种新的导出型数据类型引用(reference)可以解决上面的难题。引用又称别名(alias)。注意:1.对数组只能引用数组元素,不能引用数组(数组名本身为地址)。2.不能定义引用的引用(引用也是地址),所以当函数的参数为引用时,引用不能作实参。拷贝构造函数 同一个类的对象在内存中有完全相同的结构,如果作为一个整体进行复制或称拷贝是完全可行的。这个拷贝过程只需要拷贝数据成员,而函数成员是共用的(只有一份拷贝)。在建立对象时可用同一类的另一个对象来初始化该对象,这时所用的构造函数称为拷贝构造函数(Copy Constructor)。CGoods类,拷贝构造函数为:CGoods (CGoods & cgd) Strcpy (Name , cgd.Name);