C++拷贝构造函数详解
一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a = 100 ; int b = a ; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类对象拷贝的简单例子。 # include <iostream> using namespace std ; class CExample { private : int a ; public : //构造函数 CExample ( int b ) { a = b ; } //一般函数 void Show ( ) { cout << a << endl ; } } ; int main ( ) { CExample A ( 100 ) ; CExample B = A ; //注意这里的对象初始化要调用拷贝构造函数,而非赋值 B . Show ( ) ; return 0 ; } 运行程序,屏幕输出100。从以上代码的运行结果可以看出,系统为对象 B 分配了内存并完成了与对象 A 的复制过程。就类对象而言,相同类型的类对象是通过拷贝构造函数来完成整个复制过程的。 下面举例说明拷贝构造函数的工作过程。 # include <iostream> using namespace std ; class CExample { private :