zoukankan      html  css  js  c++  java
  • 关于浅拷贝和深拷贝

    讨论问题4.  深拷贝和浅拷贝

    我们设计类,要考虑类的数据成员是什么,如何初始化(构造函数),如何对数据进行读、写操作,需要不需要写析构函数等。当类的数据成员是指针时,就必须写拷贝构造函数、析构函数和赋值运算符重载函数(在运算符重载那章讲)。因为指针只是个地址,类对象需要空间存放内容,即需要指针开辟空间(new,通常都是创建数组),里面放参数传过来的数据,析构函数释放空间(delete)。看这次作业的3题和4题,特别是数据成员和构造函数的写法。这种处理方法就是深拷贝。

    使用深拷贝的原因是避免错误,见《C++Primer 》page447-448解释

    补充说明:

    1. 定义类时,数据成员大多是私有的(讲到继承派生会看到基类数据成员定义为保护的这种情况),请不要定义数据成员为公有的。

    2. 大家在类中用get这种名字的成员函数时,函数的含义是得到值,需要return 值;类中用set这种名字的成员函数时,函数是为数据成员赋值,set函数类型是void

  • 相关阅读:
    [ZJOI 2012]数列
    [JSOI 2011]柠檬
    sonar错误及修改方案
    mysql 查询该字段不包含中文
    service 事务
    mysql 不等于和null
    java文件编译为class文件
    主,副时间排序
    MySQL 按首字母排序
    excle导入
  • 原文地址:https://www.cnblogs.com/zhaoyiyao/p/12703929.html
Copyright © 2011-2022 走看看