构造函数和拷贝构造函数

Posted guhowo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造函数和拷贝构造函数相关的知识,希望对你有一定的参考价值。

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

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

以上是关于构造函数和拷贝构造函数的主要内容,如果未能解决你的问题,请参考以下文章

构造函数和拷贝构造函数

拷贝构造函数(c++常问问题一)

C++中构造函数,拷贝构造函数和赋值函数的区别

移动构造函数和移动赋值与拷贝构造函数和赋值构造函数的比较

关于c++拷贝构造函数

复制构造函数(拷贝构造函数)