数组
C++ 不支持数组的抽象 abstraction 也不支持对整个数组的操作我们有时会希望对整个数组进行操作例如把一个数组赋值给另外一个数组对两个数组进行相等比较或者想知道数组的大小 size 例如给出两个数组我们不能用赋值操作符把一个数组拷贝到另一个中去。
int array0[ 10 ], array1[ 10 ];
array0 = array1; // error
数组类型本...
分类:
编程语言 时间:
2014-05-07 21:38:43
阅读次数:
487
重载操作符与转换--赋值、下标、成员访问操作符一、赋值操作符 类赋值操作符接受类类型形参,通常该形参是对类类型的const引用,但也可以是类类型或对类类型的非const引用。如果没有定义这个操作符,则编译器将合成它。类赋值操作符必须是类的成员,以便编译器可以知道是否需要合成一个。而且还可以为一个类定义许多附加的赋值操作符,这些赋值操作符会因为右操作数的不同而构成重载!如string类型: ...
分类:
编程语言 时间:
2014-05-07 12:00:03
阅读次数:
276
虽然两者在功能上相似,都是用来实现对象之间的完整拷贝,但是还是有点区别。1、拷贝函数,必须在初始化对象时调用,其实拷贝函数就是一个构造函数的重载。2、对等号的进行运算符重载,可以在后面的运算中来实现对象之间的拷贝,而在对象建立之初,是使用默认的构造函数。
分类:
其他好文 时间:
2014-05-07 01:16:49
阅读次数:
282
拷贝构造函数何时会被调用?1.
对象以值传递的方式传入函数参数2.对象以值传递的方式从函数返回3.对象需要通过另外一个对象进行初始化下面我们来看代码://#include //using
namespace std;//template //T:队列的类型,char,int,double,包括自己....
分类:
编程语言 时间:
2014-05-02 17:33:17
阅读次数:
401
复制控制--复制构造函数、赋值操作符引言: 当定义一个新类型时,需要显式或隐式地指定复制、赋值和撤销该类型的对象时会发生什么– 复制构造函数、赋值操作符和析构函数的作用! 复制构造函数:具有单个形参,该形参(常用const修饰)是对该类类型的引用。当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式的使用复制构造函数;当将该类型的对象传递给函数或者从函数返回该类型的对象时,将隐...
分类:
编程语言 时间:
2014-05-02 07:48:27
阅读次数:
385
C++ Primer Plus学习笔记之拷贝构造函数
1,什么是拷贝构造函数
拷贝构造函数有两个含义:
首先,它是一个构造函数,当创建一个新对象时,系统自动调用它;
其次,它将一个已经定义过的对象的数据成员逐一对应的复制给新对象;
如果一个类没有显式定义拷贝构造函数,C++编译器可以为该类产生一个缺省的拷贝构造函数。这个缺省的拷贝构造函数采用C的方式,将拷贝对象的内存一个字节一个字节的拷...
分类:
编程语言 时间:
2014-04-30 22:24:39
阅读次数:
537
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int
b=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#includeusingnamespacestd;classCExample{private: inta;...
分类:
编程语言 时间:
2014-04-28 10:15:30
阅读次数:
806