0

さまざまな値を格納するためのテンプレート クラスを作成しようとしています。たとえば、任意の型の値を保持できるリストがあります。

template<class T>
class LinkedNode
{
private:
    LinkedNode* next;
    LinkedNode* previous;
    T data;

データの値を印刷する方法はありますか。または、何らかの方法で T 型に print メソッドを指定する必要があります。私はJavaから来たので、少し混乱しました。Java では、すべてのクラスはtoString()メソッドを持つオブジェクトから継承されます。実行時にのみ解決される T 型の値を出力するにはどうすればよいですか。
C++ のソリューションとは? または、必要なメソッドを持つクラスを基本クラス (仮想) として使用する必要があります。
どんな助けにも感謝します。

4

1 に答える 1

1

<<オペレーターを定義する必要があります

std::ostream& operator<<(std::ostream& os, LinkedNode const& node)
{
    return os << node.data;
}

これには、型T<<定義されている必要があります。

于 2015-02-25T17:34:30.153 に答える