I am making a class which is inherited from `std::fstream`. I am making a custom `eof()` function. That function returns the value of a `bool internal_eof` variable which is set and reset under slightly different conditions than those of the `std::fstream::eof()`. These conditions are specific to the nature of my application. The value of `bool internal_eof` is determined by other functions which are not shown here. Since the `BufferedFile::eof()` function which I'm defining just consists of a single statement to `return` the `bool internal_eof` varaible, I've decided to make it an `inline` function. I'm wondering, can an `inline` function of the derived class override a non`inline` function of the base class? What does the standard say? What do you more experienced programmers know anything about this? I don't really have time for testing this manually, because the `fstream::eof()` and `BufferedFile::eof()` behave similarly ~85% of the time. There are just some edge cases where this solution is needed, and they are not easy to reproduce. Knowing whether this solution is a viable one is crucial for further development of the project.

```
class BufferedFile: public fstream {
  public:
    inline bool eof() const { return internal_eof; }
    ...
  private:
    bool internal_eof;
    ...
};

```