C++ 类的成员函数有: 以及类中是不是至少有一个拷贝构造函数

如题所述

很对,如果不写拷贝构造函数,编译器就会自动生成一个浅拷贝的拷贝构造函数

如果没有特殊需求,或者类里面没有指针,我们是没必要自己写拷贝构造函数的。如果我们写了,就以我们写的为准。

因此:类中至少有一个拷贝构造函数是对的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-10
构造 .---- 初始化
拷贝构造 用本类的一个已知值的对象的 来 初始化 新的对象
比如 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.... 悲剧了

.追问

类的成员函数有几个?

构造 拷贝构造 析构 还有么

类中一定会有拷贝构造吗?你不用拷贝功能,他会默认有一个吗?

追答

给个好评

本回答被网友采纳
第2个回答  2014-01-10
类中至少有一个构造函数、一个复制构造函数、一个析构函数。
这三个函数,即便自己不定义,编译器也会自动生成。追问

要是能采纳2个人话,我一定会点你的

追答

嗯 没关系~

相似回答