[Quote=引用 4 楼 bioexplore 的回复:]
我只能回答你的第一个问题,第二个问题我第一次听说。
举个例子:
class Apple
{
private:
int size_;
int colorIndex_;
Apple(const Apple& a);
Apple operator=(const Apple& a);
public:
Apple();
};
int main()
{
Apple apple1;//调用public下的默认构造函数
Apple apple2(apple1);//试图调用private中的复制构造函数,提示编译错误
Apple apple3=app…
[/Quote]
我知道定义为私有的就不能在类外进行直接的访问,那么它还定义这两个函数有什么作用呢?
我个人的理解是这样的:程序中还是需要复制构造函数和对赋值符的重载,只不过程序不允许外部直接进行复制,而是通过其他一些方式,比如说在其他的成员函数
内部调用这两个函数。
不知道这样理解对不?