我知道复制构造函数是一个构造函数,它将一个新对象作为现有对象的副本,但是,是否每个构造函数都将另一个对象作为一个称为复制构造函数的参数?
示例:如果我必须使用类X并且Y是X(const Y& y)复制构造函数?
如果没有这样的构造函数的名称?
不可以.复制构造函数是一个复制构造函数,它接受与ctor相同的类的单个实例.于是
X(const X& x)
Run Code Online (Sandbox Code Playgroud)
是一个复制构造函数,因为:
X(const X& x, int z = 0)
Run Code Online (Sandbox Code Playgroud)
因为只用单个x对象就可以调用它.
采用其他对象的构造函数通常称为"转换构造函数",但该名称与"复制构造函数"一样固定.