我有一个有string text私人成员的Task类.我访问变量槽const string getText() const;.
我想重载==运算符以检查对象的不同实例是否具有相同的文本.
我bool operator==( const Task text2 ) const;在类标题上声明了一个public 并将其编码为:
bool Task::operator==( const Task text2 ) const {
return strcmp( text.c_str(), text2.getText().c_str() ) == 0;
}
Run Code Online (Sandbox Code Playgroud)
但即使字符串相等,它总是返回false.
所以我在其中添加了一个cout调用bool operator==( const Task text2 ) const;来检查它是否被调用,但什么都没有.
似乎我的自定义==运算符永远不会被调用.
我的标题:
#ifndef TASK_H
#define TASK_H
#include <iostream>
using namespace std;
class Task {
public:
enum Status { COMPLETED, PENDIENT };
Task(string text);
~Task();
// SETTERS
void setText(string text);
void …Run Code Online (Sandbox Code Playgroud)