通过从另一个对象复制变量或将一个对象的数据复制到另一个对象来创建对象的构造函数称为复制构造函数。
复制构造函数是一个参数化构造函数,包含相同类类型的参数。它的主要用途是将新实例初始化为现有实例的值。
using System;
namespace Mytest{
class User {
public string name, addr;
public User(string a, string b) {
name = a;
addr = b;
}
public User(User user) {
name = user.name;
addr = user.addr;
}
}
class Program{
static void Main(string[] args){
User user1 = new User("小明", "荆州");
Console.WriteLine(user1.name + ", " + user1.addr);
User user2 = new User(user1);
Console.WriteLine(user2.name + ", " + user2.addr);
user2.name = "小李";
user2.addr = "许昌";
Console.WriteLine(user2.name + ", " + user2.addr);
}
}
}
保存为copytest.cs;
把.net framework目录添加到path环境变量,然后从命令行构建;运行如下;
public User(User user) {
。。。。。。
}
这个是复制构造函数,使用一个类的对象作为参数;
从命令行设置的环境变量是临时的,只在此cmd有效;
从命令行设置的环境变量是临时的,只在此cmd有效;
如果这么设置就会失败,
set path = C:\Windows\Microsoft.NET\Framework64\v4.0.30319
等号前后不能有空格,
set path=C:\Windows\Microsoft.NET\Framework64\v4.0.30319