C++运算符重载需要注意的地方
上一篇 /
下一篇 2012-08-30 13:28:15
/ 个人分类:C++
t1bFg#@I"j+k8S0 有时候自己写一个类,需要重载运算符,但对于一些操作符(如==、<、>等),可以在类里写,也可以在类外写。那么 C++ 编译器会去怎么调用呢?
)b#E"f Q;h,X0
51Testing软件测试网h-y
b'O+IH1N^3P 首先,我们知道,“重载” 机制可以允许多个函数有相同的函数名,但参数列表必须不同。C++编译器经过名字改编(name mangling),可以在调用时依据所传实参找到“最符合”的函数实体进行调用。而运算符重载亦是如此。51Testing软件测试网2e$Mxi-|
pY;sL/z4U0 首先,我们有一个类:
i
I+s$E#Ql#M*_ssa0
Hxi1|!Q1h~Fb\L0
}6_M%u gp6jr"z0
51Testing软件测试网*j$Q+{,oo;E)?Z class CMyCls51Testing软件测试网/fa.~%U|xP ]*|:|,B { t&O |