Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Game.cpp
- #include "Game.h"
- #include "String.h"
- // перегрузка оператора присваивания
- Game& Game::operator= (const Game& ob) // оператор присваивания
- {
- title_ = ob.title_;
- genre_ = ob.genre_;
- developer_ = ob.developer_;
- date_ = ob.date_;
- rating_ = ob.rating_;
- return *this;
- }
- // перегрузка бинарных операторов
- Game Game::operator+ (unsigned int value)
- {
- rating_ += value;
- return *this;
- }
- Game Game::operator- (unsigned int value)
- {
- rating_ -= value;
- return *this;
- }
- Game Game::operator+ (const Game& ob)
- {
- genre_ = genre_ + "-" + ob.genre_;
- title_= title_ + " Modded";
- return *this;
- }
- // перегрузка операторов отношения
- bool Game::operator== (const Game& ob) const
- {
- return (rating_ == ob.rating_);
- }
- bool Game::operator> (const Game& ob) const
- {
- return (rating_ > ob.rating_);
- }
- bool Game::operator< (const Game& ob) const
- {
- return (rating_ < ob.rating_);
- }
- bool Game::operator>= (const Game& ob) const
- {
- return (rating_ >= ob.rating_);
- }
- bool Game::operator<= (const Game& ob) const
- {
- return (rating_ <= ob.rating_);
- }
- // перегрузка операторов инкремента/декремента
- Game& Game::operator++()
- {
- ++rating_;
- return *this;
- }
- Game& Game::operator--()
- {
- --rating_;
- return *this;
- }
- // перегрузка операторов ввода/вывода как дружественные функции
- ostream& operator<< (ostream& out, const Game& ob)
- {
- out << "|";
- out.setf(ios::left);
- out.width(40);
- out << ob.title_ << '|';
- out.width(26);
- out << ob.genre_ << '|';
- out.width(29);
- out << ob.developer_ << '|';
- out.width(12);
- out << ob.date_ << '|';
- out.width(4);
- out << ob.rating_ << '|';
- return out;
- }
- istream& operator>> (istream& in, Game& ob)
- {
- in >> ob.title_;
- in >> ob.genre_;
- in >> ob.developer_;
- in >> ob.date_;
- in >> ob.rating_;
- return in;
- }
- //методы
- String Game::getTitle() const { return title_; }
- String Game::getGenre() const { return genre_; }
- String Game::getDeveloper() const { return developer_; }
- String Game::getDate() const { return date_; }
- unsigned int Game::getRating() const { return rating_; }
- // конструкторы/деструктор
- // конструктор без параметров
- Game::Game()
- : title_("N/A"), genre_("N/A"), developer_("N/A"), date_("XX.XX.XXXX"), rating_(0) {}
- // конструктор c параметрами
- Game::Game(String title, String genre, String developer, String date, unsigned int rating)
- : title_(title), genre_(genre), developer_(developer), date_(date), rating_(rating) {}
- // конструктор копирования средней оценки
- Game::Game(unsigned int rating)
- : rating_(rating) {}
- // конструктор копирования
- Game::Game(const Game& ob)
- : title_(ob.title_), genre_(ob.genre_), developer_(ob.developer_),
- date_(ob.date_), rating_(ob.rating_) {}
- //деструктор
- Game::~Game() {}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement