// ----------------------------------------------------------------------------- class Movie : public Title { protected: std::optional length_; public: Movie( const std::string& name, int year, const std::string& genre, int rating, const std::set& actors, std::optional length ); Movie( std::string&& name, int year, std::string&& genre, int rating, std::set&& actors, std::optional length ); std::optional length() const; }; // ----------------------------------------------------------------------------- class Series : public Title { protected: int seasons_; int episodes_; public: Series( const std::string& name, int year, const std::string& genre, int rating, const std::set& actors, int seasons, int episodes ); Series( std::string&& name, int year, std::string&& genre, int rating, std::set&& actors, int seasons, int episodes ); int seasons() const; int episodes() const; }; // ----------------------------------------------------------------------------- inline std::optional Movie::length() const { return length_; } inline int Series::seasons() const { return seasons_; } inline int Series::episodes() const { return episodes_; } // -----------------------------------------------------------------------------