标签:
一、操作符重载:
操作符重载是多态的一种,它扩展了操作符的功能,使得操作符不仅仅再只作用于内置数据类型。
二、操作符重载的规则:
1.C++不允许用户自己定义新的操作符,只能对已有的C++操作符进行重载;
2.重载不能改变操作符操作对象(即搡作数)的个数,而且不能有默认参数,否则也是改变了操作对象的个数,例如:“+”操作符重载后还是只能是双目运算符;
3.重载不能改变操作符的优先级别和结含性;
4.重载的运算符必须和用户定义的自定义类型的对象一起使用,其参数至少应有一个是类对象(或类对象的引用);
5.用于类对象的运算符一般必须重载,但有两个例外,运算符“=”和“&”不必重载;
6.应当使重载运算符的功能类似于该运算符作用于标准类型数据时候时所实现的功能;
7.运算符重载函数可以是类的成员函数,也可以是类的友元函数,还可以是既非类的成员函数也不是友元函数的普通函数。
三、操作符重载的两种实现方式:
1.friend函数:
class 类名 : { public: friend 返回类型 operator 操作符(形参列表); }; 返回类型 operator 操作符(形参列表) { //定义 }
2.类成员函数:
class 类名 { public: 返回类型 operator 操作符(形参列表); }; 返回类型 类名::operator 操作符(形参列表) { //定义 }
四、不同操作符的重载:
1.
标签:
原文地址:http://www.cnblogs.com/fengxmx/p/5096886.html