2016-09-07 16 views
2

どこでも私はすべての人が< <演算子をいくつかの行にオーバーロードしているのを見て、それは非常にシンプルですが、何らかの理由で< <演算子をオーバーロードしても何もしません。"<<"演算子をオーバーロードできません

friend std::ostream& operator<<(std::ostream& os, const Test& test); 

をそして、私の.cppファイルに私が持っている:私の.hで

私が持っている

std::ostream& operator<<(std::ostream& out,const DeckOfCards& deck) { 
    out << "oi"; //just testing with a normal string before i try methods 
    return out; 
} 

そして最後に、main関数で私が持っている:

Test* test = new Test(); 
std::cout << "output is: " << test << std::endl; 

でした誰かが私が間違っていることを教えてください? ありがとうございます。

+3

不必要に新規/削除を使用しないでください。 –

答えて

6

はどのようにこのしようについて:

std::cout << "output is: " << *test << std::endl; 

をあなたのコードでは、ポインタではなく、オブジェクトをINGのcoutあります。

+1

うわー、私はテストの後にアスタリスクを置いた。 – Ky6000

関連する問題