有没有办法打印模板 class 对象

Is there any way to print template class object

我正在尝试创建模板 class 来存储不同的值,例如,我有一个列表,它可以保存任何类型的值。

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

有没有办法打印数据的值。或者以某种方式指定 T 类型应该有打印方法。我有点困惑,因为我来自Java。在 Java 中,每个 class 都继承自具有 toString() 方法的对象。如何打印仅在运行时解析的 T 类型的值。
C++ 中的解决方案是什么?或者我必须使用一些 class 作为具有所需方法的基础 class(虚拟)。
如果有任何帮助,我将不胜感激。

您需要定义 << 运算符

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

这将要求任何类型 T 都已定义 <<