• 您的位置我爱Aspx >> VC.Net >> <b>从赋值运算符的默认实现中获益(第一部分)</b>
  • <b>从赋值运算符的默认实现中获益(第一部分)</b>

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:13:57  关键字:
  • 从赋值运算符的默认实现中获益(第一部分)

    应用程序开发者优势需要使用一种数字式的类。当实现这样的数字式类时,你可能想重载运算符,如:+、-、*、/……等等,使得这些类在处理时,显得逻辑性强一些。

    然而,一旦实现了运算符+,你可能又希望实现运算符+=,同样还有-、*、/、%、^、&、|这些运算符。

    为了使用一个已经实现了的一元运算符,如+,你可以把一个实现转换运算符把你的类型转换为已经实现了上述一元运算符的类型。例如,通过把你的类型转换为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)

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:<b>从赋值运算符的默认实现中获益(第二部分)</b>
    下一篇:<b>Visual C++编程中的文件操作</b>
  • 相关文章