如何显示默认的c ++对象值

时间:2012-07-03 09:39:59

标签: c++

我想创建一个完全模仿内置类型的c ++类型。下面是“整数”类型的示例,其“装入”“int”类型。我遇到的问题是,我想仅使用独立的“整数”对象d来显示“整数”的值,这样cout<< d将显示该值,而不是cout<< d.show();我该怎么做?

#include <iostream>

class integer {

      public:
             integer (int x)  { i = x; };
             integer ( ) { };   // default constructor

      integer operator+ (integer& c ){
              return integer(i + c.i);
          }


      int show ( ) { return i; }


      private:
              int i;
};



int main ( ) {

    integer i = 5;
    integer c (10);
    integer d;

    d = i + c;

    std::cout << d.show() << std::endl;

    std::cin.get();
    return 0;   
}

1 个答案:

答案 0 :(得分:5)

您可以重载operator <<来执行此操作:

ostream& operator <<(ostream& stream, const integer& myInteger)
{
    return stream << myInteger.show();
}

并制作show const