构造函数和拷贝构造函数

构造函数,顾名思义,新构造一个对象。如下调用的就是普通的构造函数:

String s="cde";

拷贝构造函数,顾名思义,也是一种构造函数,特殊的构造函数,用一个已存在的对象初始化一个新的对象,就是拷贝构造函数。如下调用的就是拷贝构造函数,用已经存在的string s去初始化新的对象a:

String a(s);

String a=s;

拷贝构造函数声明如下:(以String为例子)

String();   //constructor
String(const char *s);  //constructor
String(const String &other);  //copy constructor

运算符重载的声明如下:

1 String &operator=(String &other); //operator overloading

拷贝构造函数和=运算符重载的区别:

前者用于初始化新的对象,而后者用于给已存在的对象赋值。下面两句话说明一切,用心体会,所使用的阶段不一样。

String a=b;     //copy constructor
a=b;     //operator overloading
posted @ 2017-08-19 23:34  guhowo  阅读(484)  评论(0编辑  收藏  举报