【发布时间】:2016-02-27 20:23:07
【问题描述】:
其实我不明白它的概念,意思是为什么以及何时应该使用它。通常,我们可以为类的实例赋值,但为什么我们应该像这样将一个对象发送给另一个对象:
private void button8_Click(object sender, EventArgs e)
{
rectangle r1 = new rectangle(50, 70);
rectangle r2 = new rectangle(r1);
}
class rectangle
{
private int length;
private int breadth;
public rectangle(rectangle x)
{
length = x.length;
breadth = x.breadth;
MessageBox.Show("I'm a Copy Constructor. \n Length= " + length.ToString() + "\n breadth= " + breadth.ToString());
}
}
【问题讨论】:
-
这是一种复制矩形的简单方法。从外部看,这是不可能的,因为您的财产是私有的。你也可以修改你的矩形或类似的东西。
-
好吧,我可能已经看到它在某些库中使用过,但这在 C# 中并不常见。复制构造函数是 C++ 编程的明显基石,但在 C# 中,它们只不过是一种花哨(但正确)的方式来组织 deep cloning(至少这是我所期望的)。
标签: c# constructor copy-constructor