Форум программистов, компьютерный форум CyberForum.ru

Виртуальные функции - C++

Восстановить пароль Регистрация
 
gurukamu
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
08.05.2013, 20:31     Виртуальные функции #1
Здравствуйте,уважаемые посетители форума.Пишу программу созданию фигур и их перемещению на экране использую виртуальные функции.И написал,все работает,но возник один вопрос я объявляю виртуальные функции:
C++
1
2
3
virtual void Show();//функция показывает фигуру
virtual void Hide();// скрывает фигуру
virtual void ChangePosition(int NewX1,int NewY1);//изменяет её координаты
и собственно функция,которая использует исходные:
C++
1
2
3
4
5
6
void MoveTo(int NewX1,int NewY1)
{
  Hide();
  ChangePosition(NewX1,NewY1);
  Show();
}
В одном из классов у меня функция ChangePosition() представляет собой:
C++
1
ChangePosition(int NewX1,int NewY1,int NewX2,int NewY2);
И все нормально работает.
Вопрос заключается в следующем:почему в реализации MoveTo(),стоит
C++
1
ChangePosition(int NewX1,int NewY1);
а работает также и
C++
1
ChangePosition(int NewX1,int NewY1,int NewX2,int NewY2);
Не пойму почему при разном числе параметров работает,хотя в реализации MoveTo() стоит два параметра,а также работает при четырех?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2013, 20:31     Виртуальные функции
Посмотрите здесь:

C++ виртуальные функции
C++ Виртуальные функции
C++ виртуальные функции
C++ виртуальные и чисто виртуальные функции
C++ Виртуальные функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mat_for_c
 Аватар для mat_for_c
115 / 110 / 19
Регистрация: 26.04.2013
Сообщений: 585
Завершенные тесты: 2
08.05.2013, 20:49     Виртуальные функции #2
Цитата Сообщение от gurukamu Посмотреть сообщение
virtual void ChangePosition(int NewX1,int NewY1);//изменяет её координаты
скорей всего из-за этого...
gurukamu
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
08.05.2013, 20:56  [ТС]     Виртуальные функции #3
чего этого?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
08.05.2013, 23:30     Виртуальные функции #4
gurukamu, либо у Вас как минимум 2 функции ChangePosition(). Одна с 2мя параметрами, а другая с 4мя. Либо, как минимум 2 параметра (в функции с 4мя параметрами) имеют значение по умолчанию. Короче говоря, без полного кода точно не сказать.
Yandex
Объявления
08.05.2013, 23:30     Виртуальные функции
Ответ Создать тему
Опции темы

Текущее время: 18:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru