C++本质:类的赋值运算符=的重载,以及深拷贝及浅拷贝.docxVIP

  • 3
  • 0
  • 约 7页
  • 2017-06-13 发布于湖北
  • 举报

C++本质:类的赋值运算符=的重载,以及深拷贝及浅拷贝.docx

?C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝关键词:构造函数,浅拷贝,深拷贝,堆栈(stack),堆heap,赋值运算符摘要:????在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作。??如果对象在申明的同时马上进行的初始化操作,则称之为拷贝运算。例如:????????class1 A(af); class1?B=A;?????此时其实际调用的是B(A)这样的浅拷贝操作。???如果对象在申明之后,在进行的赋值运算,我们称之为赋值运算。例如:????????class1 A(af); class1 B;????????B=A;????????此时实际调用的类的缺省赋值函数B.operator=(A);????????不管是浅拷贝还是赋值运算,其都有缺省的定义。也就是说,即使我们不overload这两种operation,仍然可以运行。那么,我们到底需不需要overload这两种operation 呢?????????答案就是:一般,我们我们需要手动编写析构函数的类,都需要overload 拷贝函数和赋值运算符。?????????下面介绍类的赋值运算符1.C++中对象的内存分配方式????????在C++中,对象的实例在编译的时候,就需要为其分配内存大小,因此,系统都是在stack上为其分配内存的。这一点和C

文档评论(0)

1亿VIP精品文档

相关文档