Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
gurukamu
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
#1

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

08.05.2013, 20:31. Просмотров 405. Ответов 3
Метки нет (Все метки)

Здравствуйте,уважаемые посетители форума.Пишу программу созданию фигур и их перемещению на экране использую виртуальные функции.И написал,все работает,но возник один вопрос я объявляю виртуальные функции:
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() стоит два параметра,а также работает при четырех?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2013, 20:31
Ответы с готовыми решениями:

Виртуальные и чисто виртуальные функции
Чем они отличаются?? если можно, с примерами. И как из виртуальной функции...

Виртуальные функции С++
Задача: В классе хранится целое, и определяется виртуальная функция shownum()....

Виртуальные функции.
Приветствую всех. Дана такая программа (на самом деле она больше и сложнее, но...

Виртуальные функции
Какие происходят изменения, когда в классе объявляем одну или несколько функций...

Виртуальные функции
Вопрос. Как вызвать функцию наследника через указатель на базовый класс? Так...

3
mat_for_c
215 / 208 / 77
Регистрация: 26.04.2013
Сообщений: 959
Завершенные тесты: 3
08.05.2013, 20:49 #2
Цитата Сообщение от gurukamu Посмотреть сообщение
virtual void ChangePosition(int NewX1,int NewY1);//изменяет её координаты
скорей всего из-за этого...
0
gurukamu
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
08.05.2013, 20:56  [ТС] #3
чего этого?
0
Tulosba
:)
Эксперт С++
4747 / 3241 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
08.05.2013, 23:30 #4
gurukamu, либо у Вас как минимум 2 функции ChangePosition(). Одна с 2мя параметрами, а другая с 4мя. Либо, как минимум 2 параметра (в функции с 4мя параметрами) имеют значение по умолчанию. Короче говоря, без полного кода точно не сказать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2013, 23:30

Виртуальные функции
Создайте класс Word, определите в нем виртуальную функцию-член word_main(*char...

Виртуальные функции
Подскажите пожалуйста, как передать переменную из одной виртуальной функции в...

Виртуальные функции
Объясните строку 106 И еще, почему перед каждой x1 x2 y стоит звездочка. Я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru