[英]How to use std::cout with my (templated) class?
我想重载<<
操作符,将类实例打印到控制台,如下所示:
std::cout << instance << std::endl;
我在这里找到了解决方案: https : //msdn.microsoft.com/zh-cn/library/1z2f6c2k.aspx
但是我不能使用它,因为我的课程是模板化的:
template<typename T>
myClass {
//code...
};
编辑:如果尝试在类主体中定义它,则会收到一个错误: it must take only one argument
当然,您可以使用该示例,只需将其改编为您的模板即可。
代替
ostream& operator<<(ostream& os, const Date& dt)
你需要
template<class T>
ostream& operator<<(ostream& os, const myClass<T>& dt)
您可以尝试一下(使其适应您的代码):
std::ostream& operator<<(std::ostream& os, const T& obj)
{
// write obj to stream
return os;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.