0

組み込み型を正確に模倣する 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;   
}
4

1 に答える 1

5

それを行うためにオーバーロードできますoperator <<

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

と作るshow const

于 2012-07-03T09:40:49.953 に答える