복사 생성자는 다른 개체에서 변수를 복사하여 개체를 만듭니다.
예를 들어 보겠습니다 -
예
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);
이것을 복사 생성자라고 합니다.