构造 .---- 初始化
拷贝构造 用本类的一个已知值的对象的 来 初始化 新的对象
比如 A 类有一个成员 int x 这时候 你的拷贝构造函数 就应该这样 写
A( A& a)
{
x = a.x;
}
为什么要拷贝构造
A a1, a2; 你的 a1 已经有了值 , a2 = a1 ; 这个时候 就会调用拷贝构造函数 来初始化a2;
否则你就得 用 A 的其他构造函数来初始化 a2;
就和 int x,y; x=10; 这个时候 你也想让y=10 怎么办呢 就让 y=x; 否则 你就得 自己写 y=10;
至于为什么是引用呢 ...
如果拷贝构造函数 设计 成
A ( A a)
{
x = a.x;
} //貌似 也可以哦
可是实参a1 如何把值给形参 a 答案就是通过拷贝构造函数 so.... 悲剧了
.
追问类的成员函数有几个?
构造 拷贝构造 析构 还有么
类中一定会有拷贝构造吗?你不用拷贝功能,他会默认有一个吗?
追答给个好评
本回答被网友采纳