复制控制:分为复制构造函数、赋值操作符和析构函数。编译器自动实现这么操作,但类也可以定义自己的版本。 复制构造函数:只有单个形参,且形参是对本类类型对象的引用(常用const修饰)的构造函数。 赋值操作符:接受单个形参,且该形参是同一类类型的对象。由操作数一般作为const引用传递。 析构函数:可以 ...
分类:
其他好文 时间:
2016-07-07 19:05:31
阅读次数:
155
题外话,贴个白噪音网站 Rainy Mood ,敲代码的时候可以听,就像不存在一样 言归正传 在C++复制控制那篇帖子里面,有提到操作符的功能实际上都是被定义出来的。--这一点其实可以推广到其他的语言,只不过其他语言禁止了自定义操作符。 先说个总结认识:操作符本质上是函数,只不过不同于普通函数,标准 ...
分类:
编程语言 时间:
2016-06-30 14:32:29
阅读次数:
288
写了又删,删了又写,才发现这一章节不好描述。 那就假定个前提吧,假定已经知道: 在此基础上,稍作推理: 一、如果构造函数是单形参、且形参类型为该类的类型的构造函数。 以 class Person 为例, 根据上面前提的④,p2 需要 p1 的一个副本(复制一个),这时就出现问题了:该怎么复制? 这就 ...
分类:
编程语言 时间:
2016-06-28 20:10:17
阅读次数:
199
对酒当歌,人生几何? 譬如朝露,去日苦多。
人的一生可能惊涛骇浪,更可能波澜不惊,这次我们就来探讨一下“对象”(当然各位同学自己的对象不在本次讨论范围之内O(∩_∩)O,课后自己讨论吧)一生的“起起落落”,即对象的复制控制。
复制控制包括三个部分:复制构造函数的调用、赋值操作符的调用、析构函数的调用。下面就这三个操作来逐一进行介绍,大家共同学习(*^-^*)
一、复制构造函数
复制...
分类:
编程语言 时间:
2016-06-17 11:15:07
阅读次数:
352
通过一个实例稍微深入理解C++复制控制过程,参考资料《C++ primer》,介绍点基本知识: 1、在C++中类通过特殊的成员函数:复制构造函数、赋值操作符和析构函数来控制复制、赋值和撤销该类的对象时会发生什么。 2、复制构造函数(copy constructor)是一种特殊的构造函数,具有单个形参 ...
分类:
编程语言 时间:
2016-06-06 22:03:47
阅读次数:
179
面向对象编程
--转换与继承、复制控制与继承
I.转换与继承
引言:
由于每个派生类对象都包含一个基类部分,因此可以像使用基类对象一样在派生类对象上执行操作。
对于指针/引用,可以将派生类对象的指针/引用转换为基类子对象的指针/引用。
基类类型对象既可以作为独立对象存在,也可以作为派生类对象的一部分而存在,因此,一个基类对象可能是...
分类:
编程语言 时间:
2016-05-12 22:23:04
阅读次数:
217
面向对象编程
--构造函数和复制控制[续]
三、复制控制和继承
合成操作对对象的基类部分连同派生类部分的成员一起进行复制、赋值或撤销,使用基类的复制构造函数、赋值操作符或析构函数对基类部分进行复制、赋值或撤销。
类是否需要定义复制控制成员完全取决于类自身的直接成员。基类可以定义自己的复制控制而派生类使用合成版本,反之,基类使用合成版本,而派生类使用自己定义的...
分类:
编程语言 时间:
2016-05-12 22:22:57
阅读次数:
198
2016-04-27 23:04:41 一个小错误害我浪费10多分钟时间!!仔细点根本没事的,以后复制控制器的时候一定要把所有连线都消除!! 错误提示: -[ZWEditViewController add:]: unrecognized selector sent to instance 0x7f ...
分类:
其他好文 时间:
2016-04-28 00:19:53
阅读次数:
138
构造函数和复制控制 每个派生类对象由派生类中定义的(非 static)成员加上一个或多个基类子对象构成,当我们构造、复制、赋值和撤销一个派生类对象时,也会构造、复制、赋值和撤销这些基类子对象。 构造函数和复制控制成员不能继承,每个类定义自己的构造函数和复制控制成员。像任何类一样,如果类不定义自己的默
分类:
编程语言 时间:
2016-03-10 20:33:38
阅读次数:
240
消息处理示例 有些类为了做一些工作需要对复制进行控制。为了给出这样的例子,我们将概略定义两个类,这两个类可用于邮件处理应用程序。Message 类和 Folder 类分别表示电子邮件(或其他)消息和消息所出现的目录,一个给定消息可以出现在多个目录中。Message 上有 save 和 remove
分类:
其他好文 时间:
2016-02-24 19:01:25
阅读次数:
143