Why do you think these methods (save, load) are necessary? We have discussed read, write would be enough. Anyway:
line 2016: const std::string& filepath has to be instead of std::string filepath
line 2017: const std::string& filepath instead of const std::string filepath