gpt4 book ai didi

C++ 无法从类型 bool(class) 转换为 bool

转载 作者:行者123 更新时间:2023-11-30 01:55:05 25 4
gpt4 key购买 nike

<分区>

所以我有一个抽象父类(super class) ReadWords 和 3 个子类,FirstFilter、SecondFilter 和 ThirdFilter。

读词.h:

#ifndef _READWORDS_H
#define _READWORDS_H

using namespace std;
#include <string>
#include <fstream>
#include <iostream>
#include <cstdlib>

class ReadWords
{ public:

ReadWords(char *filename);

void close();

string getNextWord();

bool isNextWord();

virtual bool filter(string word)=0;

string getNextFilteredWord();

private:
ifstream wordfile;
bool eoffound;
string nextword;
string fix(string word);

};

#endif

FirstFilter.h:

#ifndef _FIRSTFILTER_H
#define _FIRSTFILTER_H

using namespace std;
#include <string>
#include <fstream>
#include <iostream>
#include "ReadWords.h"

class FirstFilter: public ReadWords
{ public:
FirstFilter(char *filename);
virtual bool filter(string word)
{
for(int i=0; i<word.length(); i++){
if (word[i]>='A'&&word[i]<='Z') return true;
}
return false;
}
};

#endif

FirstFilter.cpp:

using namespace std;
#include "FirstFilter.h"

FirstFilter::FirstFilter(char *filename)
:ReadWords(filename)
{
}

在 main 函数中,我创建了 3 个类型为 FirstFilter、SecondFilter 和 ThirdFilter 的对象,我有类似的东西:

FirstFilter f1(file);
while(f1.isNextWord){
//etc
}

我对所有 3 个对象都收到此错误:

error: cannot convert 'ReadWords::isNextWord' from type 'bool (ReadWords::)()' 
to type 'bool'|

有什么想法吗?如果您也需要 ReadWords.cpp,请告诉我,我没有放它是因为它有点大。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com