gpt4 book ai didi

c++ - 有没有办法打印模板类对象

转载 作者:行者123 更新时间:2023-11-30 05:46:56 25 4
gpt4 key购买 nike

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

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

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

最佳答案

您需要定义您的 <<运算符(operator)

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

这将需要任何类型 T是有 <<定义。

关于c++ - 有没有办法打印模板类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28725758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com