复制构造函数通过从另一个对象复制变量来创建对象。
让我们看一个例子-
using System; namespace Demo { class Student { private string name; private int rank; public Student(Student s) { name = s.name; rank = s.rank; } public Student(string name, int rank) { this.name = name; this.rank = rank; } public string显示 { get { return " Student " + name +" got Rank "+ rank.ToString(); } } } class StudentInfo { static void Main() { Student s1 = new Student("Jack", 2); //复制构造函数 Student s2 = new Student(s1); //显示 Console.WriteLine(s2.Display); Console.ReadLine(); } } }
在上面我们看到,首先我们声明了一个拷贝构造函数-
public Student(Student s)
然后为Student类创建一个新对象-
Student s1 = new Student("Jack", 2);
现在,将s1对象复制到新对象s2-
Student s2 = new Student(s1);
这就是我们所谓的复制构造函数。