ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Общий форум

Перезагрузка операторов
Послано adam+ 12 фев 2010 11:37
Здраствуйте!
Задача:
Написать такой класс А, чтобы данный фрагмент кода компилировался и работал.

А a1;
A a2=a1+2+A(3);

Код:

# include <iostream>

using namespace std;

class A{
      private:
      int x;
      public:
             A():x(0){};//Constructor
             A(int y):x(y){};
             A(const A & y)  //Copy constructor
             {
               x=y.x;
               return *this;
              }
             A operator+(A y) const;

      };

  A A::operator+(A y) const{
                   return A(x+y.x);
                           }

  int main()

  {
      A a1;
      A a2=a1+2+A(3);
      return 0;
  }