C++ 我的代码必须通过单元测试才能打印出二进制搜索树。但它是模板化的<;T>;。单元测试同时通过字符串和double/long
我的BST必须能够从其节点->数据打印出数字和字符串C++ 我的代码必须通过单元测试才能打印出二进制搜索树。但它是模板化的<;T>;。单元测试同时通过字符串和double/long,c++,string,templates,casting,C++,String,Templates,Casting,我的BST必须能够从其节点->数据打印出数字和字符串 virtual string to_string() const { // printing out extra title string answer; answer.append("# Tree rooted at "); answer.append(std::to_string(_root->_data)); answer.append("\n"); answer.append
virtual string to_string() const { // printing out extra title
string answer;
answer.append("# Tree rooted at ");
answer.append(std::to_string(_root->_data));
answer.append("\n");
answer.append(_to_string(_root, answer));
answer.append("# End of Tree");
return answer;
}
建议的路径是什么,这样我的to_string方法既可以在其为整数/双精度/长且被强制转换到我的字符串中时追加数据,也可以在其已为字符串时追加数据,否则如果T类型为字符串,则会出现错误。
stringstream
。尽管可以使用stringstream
,在我看来,很明显,本编程作业的目的是学习如何使用specialization、SFINAE或if constexpr
来完成这项工作。在这种情况下,放弃并使用stringstream
可能会导致成绩不及格。因此,“推荐路径”是在获得本作业之前,按照您刚刚介绍的学习材料中要求您做的任何事情。stringstream
。虽然您当然可以使用stringstream
,但对我来说,本编程作业的目的显然是学习如何使用专业化、SFINAE、,或如果constexpr
执行此操作。在这种情况下,放弃并使用stringstream
可能会导致成绩不及格。所以,“推荐的方法”是,在完成这项作业之前,按照你刚刚学习过的内容去做。