2008年6月3日

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

摘要: 在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作。 如果对象在申明的同时马上进行的初始化操作,则称之为拷贝运算。例如: class1 A("af"); class1 B=A; 此时其实际调用的是B(A)这样的浅拷贝操作。 如果对象在申明之后,在进行的赋值运算,我们称之为赋值运算。例如: class1 A("af"); class1 B; B=A; 此时实际调用的类的缺省赋值函数B.operator=(A); 不管是浅拷贝还是赋值运算,其都有缺省的定义。也就是说,即使我们不overload这两种operation,仍然可以运行。 那么,我们到底需不需要overload这两种operation 呢? 阅读全文

posted @ 2008-06-03 11:15 飞天舞者 阅读(21639) 评论(3) 推荐(8) 编辑

导航

For more information about me, feel free email to me winston.he@hotmail.com