我爱Aspx >> VC.Net >> <b>从赋值运算符的默认实现中获益(第一部分)</b>应用程序开发者优势需要使用一种数字式的类。当实现这样的数字式类时,你可能想重载运算符,如:+、-、*、/……等等,使得这些类在处理时,显得逻辑性强一些。
然而,一旦实现了运算符+,你可能又希望实现运算符+=,同样还有-、*、/、%、^、&、|这些运算符。
为了使用一个已经实现了的一元运算符,如+,你可以把一个实现转换运算符把你的类型转换为已经实现了上述一元运算符的类型。例如,通过把你的类型转换为int型,那么你就可以使用int型已经实现了的所有一元运算符。
所有的赋值运算符(除了=运算符)都可以继承。只要我们实现了一个一元运算符,如+,那么我们就可以产生该运算符对应于赋值运算的运算符,如+=。例如,a+=b等价于a=a+b。
所有的赋值运算符的默认实现都遵循下面的语法op_plus_equal< type, other_type = const type &>。其中,type是我们正在转换的赋值运算符,而other_type是第二参数的类型(例如,在a += b的情况下,other_type就是b的类型)。
提供的实现有:
op_plus_equal
op_minus_equal
op_multiply_equal
op_divide_equal
op_modulus_equal
op_xor_equal
op_and_equal
op_or_equal
ops_math_equal (+=,-=,*=,/=,%=)
ops_all_equal(+=,-=,*=,/=,%=,^=,|=,&=)
op_plus_plus (implementsx++/++x as x = x + 1)
op_minus_minus (implements x--/--x as x = x - 1)
【我对这篇文章有话说?】
<b>Visual C++编程中的文件..[05-21]
<b>Visual C++中的ODBC编程..[05-21]
<b>常见Visual C++开发使用..[05-21]
<b>常见Visual C++开发使用..[05-21]
<b>应用程序中超文本浏览功..[05-21]
<b>Visual C++窗体设计技巧..[05-21]
<b>C++编程技巧</b>[05-21]
<b>Visual C++实现Flash动..[05-21]
<b>VC++中播放声音的方法&..[05-21]
<b>Dynamic-Link Librarie..[05-21]