313282
315978名用户注册
首页 > 技术资讯
C++运算符重载的总结
2018-02-27 01:36:13       浏览量:33602       来源:管理员

C++引入运算符重载的目的,主要是想让类对象也具有基本数据类型变量的运算操作功能;要实现类似的运算操作,就需要重载这些运算符;

int a,b;

a+b;对于对象:

Student s1,s2;

s1+s2  ?

要使得类对象可以进行运算操作,可以通过operator 来实现,其后跟相应的运算符;

blob.png

blob.png    

blob.png

例子中的operator++()  operator++(int)  (这里的int用作区分2个运算符函数)

关于运算符的重载,可以有2种方式:

(1)通过类的成员函数实现;

(2)通过友元函数同样可以实现;(友元函数的实现,因为没有this指针,一般会比成员函数实现多一个对象的引用)

blob.png

对于运算符重载,c++中的一些规定:

1 参数说明都是一些内部类型时,不能重载;    eg: int * operator+ (int ,int *);    //error

2  ::   .   .->   ?:   .*   #  6个运算符不能重载;

3  ()   []   ->  =  只能通过成员函数的形式实现重载;不能通过友元函数实现;


推荐课程

1请描述您遇到的问题或您的意见、建议

2请留下联系方式,您将有机会获得精美奖品

[可选]