编写高质量代码——运算符重载,是成员函数还是友元函数...
分类:
其他好文 时间:
2014-06-20 13:30:30
阅读次数:
164
运算符重载函数的限制:五个不能实现重载的符号:".", ".*", "::", "?",
"sizeof";重载运算符可以定义为类成员函数(这时候可以向当前对象发送消息的动作执行操作),也可定义为全局函数(一般为对应类的友元函数,此类函数需要显式指定所有参数,并且如果有转换构造函数,则可以使用于所有...
分类:
编程语言 时间:
2014-06-06 09:25:44
阅读次数:
428
Description定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算与输出操作。(1)参加运算的两个运算量可以都是类对象,也可以其中有一个是实数,顺序任意。例如,c1+c2,d+c1,c1+d均合法(设d为实数,c1,c2为复数)。(2)输出的算数,在复数两端加上括号,实部...
分类:
编程语言 时间:
2014-06-02 19:40:53
阅读次数:
503
为什么赋值运算符要返回引用??因为赋值操作会改变左值,而 +
之类的运算符不会改变操作数,所以说赋值运算符重载要返回引用以用于类似 (a=b)=c 这样的再次对a=b进行写操作的表达式。+ 返回一个临时对象是合情合理的
,你若返回引用大多数情况下也不会出错或导致某个操作数被意外修改,但这就使(a+b...
分类:
编程语言 时间:
2014-06-02 08:57:00
阅读次数:
382
C++的前世今生:C的结构化思想;Ada的模版思想;Fortran的运算符重载思想;Simula的OO思想:封装,继承,多态;C++类型描述了变量的三个特征:该类型在内存中占用物理空间的大小(空间读取范围);该类型的值的合法的取值范围(位模式解释方法);合法的操作集(数据的用法);C++的整数类型有...
分类:
编程语言 时间:
2014-05-31 20:57:08
阅读次数:
481
拷贝构造函数是用一个已存在的对象去构造一个不存在的对象(拷贝构造函数毕竟还是构造函数嘛),也就是初始化一个对象。而赋值运算符重载函数是用一个存在的对象去给另一个已存在并初始化过(即已经过构造函数的初始化了)的对象进行赋值。
它们定义上的区别,楼上的已经说过了。 比如:String s1("hell....
分类:
其他好文 时间:
2014-05-29 01:26:15
阅读次数:
278
好吧 虽然很晚了 已经1:30分了 看我能熬到什么时候把
该死的心里作业.......运算符重载呢 实质上就是函数重载 这里 我们不讲那么又臭又长的各种定义 直接上代码 PS:可能我讲的很无头绪 见谅....... 1
#include 2 using namespace std; 3 4 cl.....
分类:
编程语言 时间:
2014-05-26 12:18:17
阅读次数:
298
Point.h
/*
* Point.h
*
* Created on: 2014年5月22日
* Author: John
*/
#include
using namespace std;
#ifndef POINT_H_
#define POINT_H_
class Point {
private:
int x;
int y;
...
分类:
编程语言 时间:
2014-05-26 03:19:07
阅读次数:
399