所以这里是基类。
class MovieRepo {
protected:
MyLista<Movie> all;
public:
MovieRepo();
void store(const Movie& m);
}
而这个是重载:
class RepoFile : public MovieRepo
{
private:
string filename;
void loadFromFile();
void storeToFile();
public:
RepoFile(string _filename) : filename{ _filename } { this->loadFromFile(); };
void store(const Movie& m) override { // here is the error
MovieRepo::store(m);
storeToFile();
}
}
上面写着: ‘RepoFile::store’: 方法中的覆盖指标’override’没有覆盖任何基类方法.
解决方案:
MovieRepo::store()
不是一个虚拟函数。这个 override
指定符只适用于虚拟函数。将基类方法改为虚拟方法就可以解决这个问题。
本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/29321.html