Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 복사 생성자란 무엇입니까?

<시간/>

복사 생성자는 다른 개체에서 변수를 복사하여 개체를 만듭니다.

예를 들어 보겠습니다 -

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);

이것을 복사 생성자라고 합니다.