Effective C++ 条款12 赋值对象时勿忘其每一个成分
来源:互联网 发布:在淘宝进货实体店买 编辑:程序博客网 时间:2024/05/22 17:49
请记住:
赋值函数应该确保复制对象内的所有成员变量以及所有基类成分;
例如:
#include<iostream>using namespace std;class Base{public:Base(){}Base(int x,int y):ma(x),mb(y){}Base(const Base& rhs){ma=rhs.ma;mb=rhs.mb;}Base& operator=(const Base&rhs){if (this==&rhs)return *this;ma=rhs.ma;mb=rhs.mb;return *this;}virtual void print(){cout<<"ma= "<<ma<<endl;cout<<"mb= "<<mb<<endl;}private:int ma;int mb;};class Derived:public Base{public:Derived(){}Derived(int x,int y,int z,int k):Base(x,y),da(z),db(k){}Derived(const Derived& rhs):Base(rhs){da=rhs.da;db=rhs.db;}Derived& operator=(const Derived& rhs){if (this==&rhs)return *this;Base::operator =(rhs);da=rhs.da;db=rhs.db;return *this;}virtual void print(){Base::print();cout<<"da= "<<da<<endl;cout<<"db= "<<db<<endl;}private:int da;int db;};int main(){Base b(2,3);Derived d(1,2,3,4);b.print();d.print();Derived c=d;c.print();return 0;}
0 0
- Effective C++ 条款12 赋值对象时勿忘其每一个成分
- 【effective c++】 条款12:复制对象时勿忘其每一个成分
- Effective C++:条款12:复制对象时勿忘其每一个成分
- 读书笔记《Effective C++》条款12:复制对象时勿忘其每一个成分
- effective c++ 条款12 赋值对象时勿忘其每一个成员
- 条款12:赋值对象时勿忘记其每一个成分
- Effective C++ 读书笔记 条款12:复制对象时勿忘其每一个成分
- effective c++条款12(复制对象时勿忘其每一个成分)
- Effective C++ 条款12:复制对象时勿忘其每一个成分 学习笔记
- 复制对象时勿忘其每一个成分(Effective C++_12)
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- 条款:12 复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- 初学oracle 满天飞的都是错误代码
- Android ViewGroup.setDescendantFocusability函数
- 3a资源
- PAT-B 1002. 写出这个数 (python)
- 彻底删除jdk并重装jdk和配置环境变量设置后Error: could not open `F:\Java\jre7\lib\jvm.cfg
- Effective C++ 条款12 赋值对象时勿忘其每一个成分
- ZIP工具类
- LLVM简介
- java.io.IOException - Cannot run program "git": java.io.IOException: error=2, No such file or direct
- 宿主机mac os无法连接到虚拟机centos
- 黑马程序员_ Java学习日志(1)
- 重现Struts1的操纵classLoader漏洞
- hdu 3397 Sequence operation(线段树,lazy,区间合并)
- 软件项目的需求变更及对策