一道C#中实现ICloneable 接口深拷贝的问题
题目:
ICloneable 接口是.NET Framework 类库中定义的用于实现克隆(深拷贝:即用与现有实例相同的值创建类的新实例。)操作的接口。
该接口定义如下
Interface ICloneable
{
object Clone();
}
对于如下定义的一个C#聚合类, 请将其改造为实现ICloneable接口的类。
class CAggregate
{
private:
ArrayList list;
public:
CAggregate() {list = new ArrayList; }
public void Append(Object mObj) {list.Add(mObj); }
}
我的答案:
class CAggregate
{
private
ArrayList list;
public
CAggregate() {list = new ArrayList(); }
public void Append(Object mObj) {list.Add(mObj); }
public CAggregate clone()
{
CAggregate newObj = new CAggregate();
newObj.list = this.list;
return newObj;
}
}
是否正确?