改善程序与设计的55个具体做法 day4

Posted 崔好好

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改善程序与设计的55个具体做法 day4相关的知识,希望对你有一定的参考价值。

 

条款12:复制对象时勿忘其每一个成分

这里的复制是拷贝构造和operator=

每一个成分有几个维度:

1、每个成员变量

这个很好理解,添加新的成员时也要记得为每个新添加的成员执行合适的复制操作

 

2、每个基类的成员变量

在子类中调用可以调用基类的拷贝构造函数或者operator=

e.g.

class CObject : public CBase {};



CObject::CObject(const CObject& obj) : CBase(obj), val(obj.val){}

CObject& CObject::operator=(const CObject& obj)
{

    if (this != &obj)
    {

        CBase::operator=(obj); // 调用基类的operator=

        val = obj.val;

    }
    return *this;

}

 

以上是关于改善程序与设计的55个具体做法 day4的主要内容,如果未能解决你的问题,请参考以下文章

Effective C++:改善程序与设计的55个具体做法

改善程序与设计的55个具体做法 day3

改善程序与设计的55个具体做法 day9

改善程序与设计的55个具体做法 day8

改善程序与设计的55个具体做法 day2

改善程序与设计的55个具体做法 day6