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 s1 = new Student("Jack", 2);

现在,s1 对象被拷贝到新对象 s2 −

Student s2 = new Student(s1);

这就是我们所说的拷贝构造函数。

更新日期: 2020 年 6 月 21 日

3K+ 浏览量

开启您的 职业

完成此课程来获取认证

入门
广告