C++中,拷贝构造函数,和构造函数有什么区别?

2025-04-04 07:29:28
推荐回答(3个)
回答1:

拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其唯一的参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,也可以用非常量方式调用。

回答2:

构造函数:是用于对对象初始化名字,必须与类的名字相同,比如说定义一个圆类。
复制构造函数,在某种意义上相当于运算符“=”重载,把一个对象的数值复制给另一个
class
circle
{
public:
circle
(int
r):radium(r){};//构造函数的第一种写法
circle
(int
r){radium=r;}//构造函数的第二种写法
circle(circle
&
c)
{
radium=c.radium;//这样复制,在主函数里用cir1(cir2);这样使用
}
private:
int
radium;
};

回答3: