当我们声明一个类的时候,可能会需要另外一个类的实体去初始化一个新定义的类。
构造函数与拷贝解析// 类定义
构造函数与拷贝解析
// 此类只能实现数据的拷贝,而不能够对资源进行操作。
构造函数与拷贝解析
class ScreenOnlyCopyData
构造函数与拷贝解析;
构造函数与拷贝解析//当有一个类对象实现时,
构造函数与拷贝解析
        ScreenOnlyCopyData s1;
构造函数与拷贝解析        
//对s1进行操作.....
构造函数与拷贝解析
      ScreenOnlyCopyData s2=s1;
构造函数与拷贝解析     
//等同于下面的语句
构造函数与拷贝解析
        s2._screen = s1._screen;
构造函数与拷贝解析        s2._cursor 
= s1._cursor;
构造函数与拷贝解析        s2._height 
= s1._height;
构造函数与拷贝解析        s2._weight 
= s1._weight;
构造函数与拷贝解析
//所以,当我们定义了一个带有资源分配的类类型时,在类之间相互拷贝必须重新构造拷贝构造函数,
构造函数与拷贝解析
// 否则将只对值进行简单的赋值过程,最终导致两个类对象指向同一个资源,在其中一个对象将
构造函数与拷贝解析
// 资源析构时,另一个对象原本指向资源的指针将指向一个未定义的资源,从而导致错误的发生。
构造函数与拷贝解析
// 具体见下面的代码,为使分析简单,仅使用两个成员。
构造函数与拷贝解析

构造函数与拷贝解析Class NoResourceToCopy
构造函数与拷贝解析

相关文章:

  • 2022-12-23
  • 2021-11-07
  • 2021-06-26
  • 2021-08-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-18
  • 2022-12-23
  • 2021-07-23
  • 2021-11-04
  • 2021-04-10
  • 2021-06-11
相关资源
相似解决方案