欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【编程技巧OOPs:复制构造函数】,下面是详细的分享!
编程技巧OOPs:复制构造函数
OOPs
1. 什么是复制构造函数
我们知道构造函数是用来初始化我们要创建实例的特殊的方法。通常我们要将一个实例赋值给另外一个变量c#只是将引用赋值给了新的变量实质上是对同一个变量的引用,那么我们怎样才可以赋值的同时创建一个全新的变量而不只是对实例引用的赋值呢?我们可以使用复制构造函数。
我们可以为类创造一个只用一个类型为该类型的参数的构造函数,如:
public Student(Student student)
{
this.name=student.name;
}
使用上面的构造函数我们就可以复制一份新的实例值,而非赋值同一引用的实例了。
class Student
{
private string name;
public Student(string name)
{
this.name=name;
}
public Student(Student student)
{
this.name=student.name;
}
public string Name
{
get
{
return name;
}
set
{
name=value;
}
}
}
class Final
{
static void Main()
{
Student student=new Student ("A");
Student NewStudent=new Student (student);
student.Name="B";
System.Console.WriteLine("The new student's name is {0}", NewStudent.Name);
}
}
The new student's name is A.
2.什么是只读常量
就是静态的只读变量,它通常在静态构造函数中赋值。
class Numbers
{
public readonly int m;
public static readonly int n;
public Numbers (int x)
{
m=x;
}
static Numbers ()
{
n=100;
}
} //其中n就是一个只读的常量,对于该类的所有实例他只有一种值,而m则根据实例不同而不同。
以上所分享的是关于编程技巧OOPs:复制构造函数,下面是编辑为你推荐的有价值的用户互动:
相关问题:如果定义了复制构造函数,编译器还会有自动生成默...
答:不会的,复制构造函数是构造函数 >>详细
相关问题:什么是拷贝构造函数?拷贝构造函数何时被调用?
答:1.什么是拷贝构造函数: CA(const CA& C)就是我们自定义的拷贝构造函数。可见,拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它的唯一的一个参数是本类型的一个引用变量,该参数是const类型,不可变的。例如:类X的拷贝构造... >>详细
相关问题:c++中用*this返回一个对象,会调用复制构造函数吗?
答:只有申请变量时才会调用构造函数,你上边重载运算符中 const num &operator++() //这个没有变量的申请 {++n;return *this;} const num operator++(int o) //这个才有变量的申请. {num temp(*this); ++n; return temp;} 也是说++调用到第一个函数... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
