我可能没有正确地执行此操作但是可以从重载中获取多个返回值吗?我正在使用重载来比较二进制搜索树中的对象。
我有大约5个,但我会发布2个(它们都是相似的)。
bool ExtPersonType::operator > (ExtPersonType bob){
return (this->getLastName() > bob.getLastName());
//return (getDate().getMonth() > bob.getDate().getMonth());
//return (this->getStatus() > bob.getStatus());
}
bool ExtPersonType::operator==(ExtPersonType bob){
return (this->getLastName() == bob.getLastName());
//return (getDate().getMonth() == bob.getDate().getMonth());
//return (this->getStatus() == bob.getStatus());
}
所以我有三个函数来比较BST中“ExtPersonType”的对象。我尝试了这个,因为我看到一些例子,但没有运气(输出随机吐出,数据没有意义)。
bool ExtPersonType::operator > (ExtPersonType bob){
return (this->getLastName() > bob.getLastName() &&
getDate().getMonth() > bob.getDate().getMonth() &&
this->getStatus() > bob.getStatus());
}
如果我一次做一个回复陈述(即评论其他陈述)。它工作得很好,但显然不是很理想。
我可以尝试任何想法或事情吗?非常感谢!
编辑: 发布更多代码。
我有一个函数(或函数),我把一个字符串或int作为输入。我将它传递给我的BST,我用它来搜索和/或打印。我传入的值是this-> getLastName(),它与(<,==等)currentNodeinBinaryTree.getLastName()
进行比较void DTBinarySearchTree<T>::search(Node<T> *tree, T value)
{
if(tree){
search(tree->left, value); //recursive method that locates matches, checks entire tree
if( tree->value == value)
cout << tree->value << endl;
search(tree->right, value);
}
我使用上述方法查看所有拥有相同生日的人(例如列出所有1月生日的人)。
再次提到一切都有效,所以这不是方法,而是我遇到麻烦的重载。因为我有两个像这样的其他功能...... }