복사 생성자는 다른 개체에서 변수를 복사하여 개체를 만듭니다.
예를 들어 보겠습니다 -
예
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 Display { get { return " Student " + name +" got Rank "+ rank.ToString(); } } } class StudentInfo { static void Main() { Student s1 = new Student("Jack", 2); // copy constructor Student s2 = new Student(s1); // display Console.WriteLine(s2.Display); Console.ReadLine(); } } }
위에서 우리는 먼저 복사 생성자를 선언했습니다 -
public Student(Student s)
그런 다음 Student 클래스에 대해 새 개체가 생성됩니다. -
Student s1 = new Student("Jack", 2);
이제 s1 개체가 새 개체 s2 −
에 복사됩니다.Student s2 = new Student(s1);
이것을 복사 생성자라고 합니다.