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

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

08.05.2013, 20:31. Показов 491. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2013, 20:31
Ответы с готовыми решениями:

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

Виртуальные функции
Создать базовый класс «молодой человек» и производные классы «студент», «военнослужащий», «военный...

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

виртуальные функции
Всем привет, помогите с исправлением функции #include<iostream.h> #include<conio.h>...

3
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
08.05.2013, 20:49 2
Цитата Сообщение от gurukamu Посмотреть сообщение
virtual void ChangePosition(int NewX1,int NewY1);//изменяет её координаты
скорей всего из-за этого...
0
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
08.05.2013, 20:56  [ТС] 3
чего этого?
0
:)
Эксперт С++
4766 / 3260 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
08.05.2013, 23:30 4
gurukamu, либо у Вас как минимум 2 функции ChangePosition(). Одна с 2мя параметрами, а другая с 4мя. Либо, как минимум 2 параметра (в функции с 4мя параметрами) имеют значение по умолчанию. Короче говоря, без полного кода точно не сказать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2013, 23:30

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Виртуальные функции
Разработать программу с использованием наследования классов, реализующую классы: Земноводное(ареал...

виртуальные функции
Добрый день. Начал изучать виртуальные функции и столкнулся с проблемой. Не могу перегрузить...

Виртуальные функции
Здрасте! вот задачка, какбэ сделал, но нужны виртуальные функции. даже не знаю как их сделать. ...

виртуальные функции
интересует 2 вопроса:1)Какими элементами могут отличаться экземпляры одной виртуальной функции,...


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

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

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