【发布时间】:2020-05-10 23:10:57
【问题描述】:
这个问题源于我正在处理的更大的代码,但希望我可以将其分解以简化:
假设我有两个类,一个包含 2 个整数变量,另一个包含一个包含第一个类的向量
class TwoInts {
int num1;
int num2;
}
class NumHold {
std::vector<TwoInts> numVector;
}
我将如何准确地打印我的 numHold 类?我知道我必须提供一个重载的流操作符
std::ostream &operator<< (std::ostream &out, const NumHold &myNumHold){;}
但是我对如何从向量中打印出这些整数的语法有点困惑。我也明白,为了让流操作符工作,我必须将它作为朋友添加到我的类中,我只是想让我的 NumHold 类尽可能简化,以便示例起见。希望这是一个足够清楚的解释,任何帮助表示赞赏
【问题讨论】:
-
忘掉流操作符吧。编写一个单独的函数来打印你的类的内容。只是一个简单的功能。没有什么花哨。这是
std::ostream。这是你的课。现在打印它的内容。知道了?现在,一旦你让那部分工作,在你测试它并确保它产生漂亮的输出之后,将函数转换为重载运算符应该是微不足道的。任务完成!