我想重寫我的項目中的==運算符以獲取String_Data類。 String_Data有一個方法getString(),它返回String_Data對象中保存的字符串。我想在我的==覆蓋中調用這個方法來比較兩個String_Data對象所持有的字符串。當我這樣做時,我被告知我用作參數的String_Data對象沒有這種方法。我不知道發生了什麼問題,但任何幫助將不勝感激。這是我的代碼。重寫時不能調用同一個類中的方法==運算符C++
#include "stdafx.h"
#include <vector>
#include <sstream>
#include "String_Data.h"
using namespace std;
std::string myString;
int stringCount;
String_Data::String_Data(std::string URL, int useCount)
{
stringCount = useCount;
myString = URL;
}
String_Data::~String_Data(void)
{
}
bool operator == (String_Data sd, String_Data sd2) {
return (sd.getString() == sd2.getString());
}
std::string getString() {
return myString;
}
void increment() {
stringCount++;
}
bool compare() {
}
int getCount() {
return stringCount;
}
感謝您的任何幫助提前。
我沒有看到任何試圖調用運==覆蓋任何東西。包括那個和你的編譯器錯誤 –
看來你想_overload_而不是_override_相等運算符:相似的名稱,有點相關,但很不相同。您發佈的代碼不顯示類聲明,並且發佈的'getString()'函數不是成員。 –
@DietmarKühl它可能是,如果這是一個類中聲明的方法內聯 –