Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2012, 14:25   #1
Arrioh
Пользователь
 
Регистрация: 25.03.2012
Сообщений: 60
Смущение Почему не virtual? c++

Здравствуйте. Почему перегруженные операторы +,=, -, .... не делаются virtual?
Arrioh вне форума Ответить с цитированием
Старый 14.11.2012, 14:31   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Вероятно, потому что предполагается, что нормальные люди не будут вызывать их через указатели.
Думаю, этот вопрос стоит переместить в подфорум C++, вопрос достаточно специфический.
Abstraction вне форума Ответить с цитированием
Старый 14.11.2012, 17:20   #3
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Зависит от оператора (его реализации).
Код:
class A
{
public:
  virtual A& operator=(const A& right)
  {
	x = right.x;
	return *this;
  }

  int x;

};

class B : public A
{
public:
  virtual B& operator=(const B& right)
  {
	x = right.x;
	y = right.y;
	return *this;
  }
  int y;
};
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 14.11.2012, 19:41   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

@Helloween
А это у вас два разных оператора.
Если хотите переопределить оператор из класса А, тогда сделайте аргумент оператора в классе В тоже А
waleri вне форума Ответить с цитированием
Старый 15.11.2012, 10:44   #5
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Код:
class A
{
public:
  virtual A& operator=(const A& right)
  {
	x = right.x;
	return *this;
  }

  int x;

};

class B : public A
{
public:
  virtual A& operator=(const A& right)
  {
	x = right.x;
	return *this;
  }
  int y;
};
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ virtual function world12_tk Помощь студентам 13 13.11.2011 23:18
Mac OS на Virtual PC unbanned Свободное общение 3 27.06.2011 19:08
Не работает virtual Syltan Общие вопросы C/C++ 4 14.06.2010 16:44
Virtual TreeView Шульц Общие вопросы Delphi 3 25.10.2009 09:48
Virtual Treeview iLya84a Компоненты Delphi 3 01.08.2008 12:49