C++ 从重载运算符返回多个参数

C++ 从重载运算符返回多个参数,c++,C++,我可能没有正确地执行此操作,但是否可以从重载中获取多个返回值?我使用重载来比较二叉搜索树中的对象 我有大约5个,但我会发布两个(反正它们都很相似) 因此,我有三个函数来比较BST中“ExtPersonType”的对象。我尝试了这个函数,因为我看到了一些示例,但没有成功(输出是随机的,数据没有意义) 如果我一次做一个返回语句(即注释掉其他语句)。它工作得很好,但显然并不理想 有什么想法或事情我可以试试吗?提前多谢 编辑: 张贴进一步的代码 我有一个函数(或多个函数),其中我以字符串或int作为输入

我可能没有正确地执行此操作,但是否可以从重载中获取多个返回值?我使用重载来比较二叉搜索树中的对象

我有大约5个,但我会发布两个(反正它们都很相似)

因此,我有三个函数来比较BST中“ExtPersonType”的对象。我尝试了这个函数,因为我看到了一些示例,但没有成功(输出是随机的,数据没有意义)

如果我一次做一个返回语句(即注释掉其他语句)。它工作得很好,但显然并不理想

有什么想法或事情我可以试试吗?提前多谢

编辑: 张贴进一步的代码

我有一个函数(或多个函数),其中我以字符串或int作为输入。我将其传递给我的BST,在那里我使用它进行搜索和/或打印。我传入的值是->getLastName(),它与(左,值)进行比较//查找匹配项、检查整个树的递归方法 如果(树->值==值) 不能评价权利、价值); } 例如,我使用上述方法查看所有生日相同的人(列出所有一月生日的人)

正如前面提到的,一切都是有效的,所以我遇到的问题不是方法,而是过载。因为我还有两个类似的函数。。。
}

你想实现什么目标?请张贴一份说明您的问题的说明。您的
建立了一种看起来非常可疑的订购关系-如果两个人的姓氏相同,那么没有人会比另一个人的姓氏更大。我怀疑您是否希望在搜索树中使用它。可能的副本您没有比较
ExtPersonType
的三个函数,您有两个,即
=
。如果您的第一次尝试在您依次注释其他人时成功,那么他们必须正确返回
bool
,因此我不明白为什么您的第二个
操作符>
将每个比较与
&&
相结合而不起作用。期望的结果是什么?是否希望函数(或运算符,如果需要)返回三个布尔值?
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());  
}
bool ExtPersonType::operator > (ExtPersonType bob){
     return (this->getLastName() > bob.getLastName() &&
            getDate().getMonth() > bob.getDate().getMonth() &&
            this->getStatus() > bob.getStatus());
}
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);
    }