C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 重载运算符大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
舱位声明:

class unaryOperators 
{
    public:
        int i;

        unaryOperators (int tempI = 0)
        {
            i = tempI;
        }

        unaryOperators operator++ (int);
        unaryOperators operator++ ();
};

此全局定义是否与重载运算符的后缀或前缀版本相对应?为什么?

unaryOperators operator++ (unaryOperators &onE)
{   
    return one; 
}

解决方法

unaryOperators& operator++ (unaryOperators &onE)
              ^^

是非成员前缀一元增量运算符.

非成员后缀一元增量运算符将另外的int作为策略强制参数.

unaryOperators operator++ (unaryOperators &one,int)

C 03标准13.5.7增量和减量[over.inc]

[Example:
class X {
   public:
      X& operator++(); // prefix ++a
      X operator++(int); // postfix a++
};
class Y { };
Y& operator++(Y&); // prefix ++b
Y operator++(Y&,int); // postfix b++

void f(X a,Y b) {
++a; // a.operator++();
a++; // a.operator++(0);
++b; // operator++(b);
b++; // operator++(b,0);
a.operator++(); // explicit call: like ++a;
a.operator++(0); // explicit call: like a++;
operator++(b); //explicit call: like ++b;
operator++(b,0); // explicit call: like b++;
}
—end example]

大佬总结

以上是大佬教程为你收集整理的c – 重载运算符全部内容,希望文章能够帮你解决c – 重载运算符所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。