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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 61, средняя оценка - 4.93
Mar-12
-21 / 5 / 1
Регистрация: 14.03.2013
Сообщений: 130
#1

что такое статический полиморфизм? - C++

26.05.2013, 20:11. Просмотров 9423. Ответов 32
Метки нет (Все метки)

что такое статический полиморфизм?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2013, 20:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос что такое статический полиморфизм? (C++):

что такое полиморфизм - C++
помогите понять, что такое полиморфизм , читаю книгу, не могу вникнуть, как я понялполиморфизм это перегрузка функций?? типа один интерфейс...

Объясните человеческим языком мне чайнику что такое singleton, статический класс. Зачем они нужны. Что рекомендуете прочитать мне для начала - C++
Объясните человеческим языком мне чайнику что такое singleton, статический класс. Зачем они нужны. Что рекомендуете прочитать мне для...

Статический полиморфизм. Базовый класс «прямоугольник» - C++
Здравствуйте, дорогие участники форума! Помогите, пожалуйста! Необходимо реализовать статический полиморфизм. Нужно вызвать с помощью...

Полиморфизм. Как в предке объявить статический массив, который можно будет использовать в наследниках? - C++
Всем привет. Мне необходимо в классе предке объявить статический массив который можно будет использовать в наследниках. Не очень хочется...

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами? - C++
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа? - C++
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

32
Croessmah
Эксперт CЭксперт С++
13415 / 7566 / 855
Регистрация: 27.09.2012
Сообщений: 18,618
Записей в блоге: 3
Завершенные тесты: 1
26.05.2013, 20:47 #2
Цитата Сообщение от Mar-12 Посмотреть сообщение
статический полиморфизм?
Например, перегрузка функций.
Конечное действие определяется во время компиляции.

При динамическом полиморфизме - на этапе выполнения
1
Mar-12
-21 / 5 / 1
Регистрация: 14.03.2013
Сообщений: 130
26.05.2013, 21:13  [ТС] #3
Croessmah, а кроме перегрузки какие еще примеры можете сказать?
0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
26.05.2013, 21:19 #4
Инстанцирование шаблонов.
0
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
26.05.2013, 21:22 #5
C++
1
2
3
4
5
template <typename Obj>
void Foo(Obj obj)
{
   obj.doSomething();
}
функция компилируется или не компилируется в зависимости от того, есть ли у объекта типа
Оbj method doSomething или мембер с именем doSomething, для которого можно применить оператор ();
все это дело определяется на этапе компиляции. и в зависимости от объекта, вызов
будет делать то или иное. причем тут объекты не связаны между собой каким-нибудь
базовым классом как в случае с динамическим полиморфизмом, где похожее поведение
достигается за счет виртуальных функций.
1
_Mutex
Заблокирован
26.05.2013, 21:27 #6
Цитата Сообщение от Mar-12 Посмотреть сообщение
что такое статический полиморфизм?
Я это называю проще - затирание.
0
Croessmah
Эксперт CЭксперт С++
13415 / 7566 / 855
Регистрация: 27.09.2012
Сообщений: 18,618
Записей в блоге: 3
Завершенные тесты: 1
26.05.2013, 21:28 #7
Цитата Сообщение от _Mutex Посмотреть сообщение
Я это называю проще - затирание.
!=
Это не одно и тоже
0
ITcrusader
Эксперт С++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
26.05.2013, 23:19 #8
Цитата Сообщение от _Mutex Посмотреть сообщение
затирание
впервые вижу этот термин - он обще-употребителен?
0
Croessmah
Эксперт CЭксперт С++
13415 / 7566 / 855
Регистрация: 27.09.2012
Сообщений: 18,618
Записей в блоге: 3
Завершенные тесты: 1
26.05.2013, 23:24 #9
Цитата Сообщение от ITcrusader Посмотреть сообщение
впервые вижу этот термин - он обще-употребителен?
не понятно только что это означает - переопределение или перекрытие. По слову - переопределение, по логике ответа - перекрытие
0
_Mutex
Заблокирован
28.05.2013, 12:02 #10
Цитата Сообщение от Croessmah Посмотреть сообщение
!=
Это не одно и тоже
это одно и тоже.
C++
1
2
3
4
5
6
7
8
class A{
public:
    void S(){};
};
class B:public A{
public:
    void S(){};
};
Здесь переопределение метода в потомке затирает метод родителя, а затирает потому, что вызов метода родителя становится невозможен без явного указания, из класса потомка. Но если привести потомка к родителю, то вызовется именно метод, родителя. Фактически нечего не происходит, каждый имеет свою версию функции и вызывает ее - это и обозвали статическим полиморфизмом, а я называю проще - затирание.

Переопределение - это повторное определение, вне зависимости виртуальная ф-я или нет.
Добавлено через 10 минут
Цитата Сообщение от ITcrusader Посмотреть сообщение
впервые вижу этот термин - он обще-употребителен?
это не термин.
0
Croessmah
Эксперт CЭксперт С++
13415 / 7566 / 855
Регистрация: 27.09.2012
Сообщений: 18,618
Записей в блоге: 3
Завершенные тесты: 1
28.05.2013, 12:12 #11
Цитата Сообщение от _Mutex Посмотреть сообщение
Цитата Сообщение от Mar-12 Посмотреть сообщение
что такое статический полиморфизм?
Я это называю проще - затирание.
Цитата Сообщение от _Mutex Посмотреть сообщение
что вызов метода родителя становится невозможен без явного указания, из класса потомка.
Это лишь одно из проявлений статического полиморфизма, а не сам статический полиморфизм, так что !=
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
28.05.2013, 12:21 #12
http://stackoverflow.com/questions/5...ymorphism-in-c тут и про статик есть.
0
_Mutex
Заблокирован
28.05.2013, 12:33 #13
Цитата Сообщение от Croessmah Посмотреть сообщение
Это лишь одно из проявлений статического полиморфизма, а не сам статический полиморфизм, так что !=
это все и есть статический полиморфизм, другого нет.

Добавлено через 41 секунду
Цитата Сообщение от ForEveR Посмотреть сообщение
http://stackoverflow.com/questions/5...ymorphism-in-c тут и про статик есть.
зачем выкладывать ссылки из ниоткуда , если есть простые авториретные страницы
http://ru.wikipedia.org/wiki/C%2B%2B...B8.D0.B7.D0.BC


Друзья мои, если вам что то не нравится, учите теорию. Не надо на меня накидываться все разом, как волки на мясо.
Ответ последний.
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
28.05.2013, 12:41 #14
_Mutex, Википедия авторитетнее stackoverflow? Are you kidding me?
0
_Mutex
Заблокирован
28.05.2013, 12:43 #15
Друзья мои, если вам что то не ясно - учите теорию.
Не надо на меня бросаться все разом, как волки (( ...Я свой ответ пояснил, на этом все.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2013, 12:43
Привет! Вот еще темы с ответами:

Что такое хэндлер файла? Что такое файловый указатель? - C++
Что такое хэндлер файла? Что такое файловый указатель?

Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них - C++
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них пожалуйста.

Полиморфизм и наследование - что это? - C++
Объясните плз как можно проще что значит полиморфизм и наследование? Если второе я более менее понял то с 1 проблема. В интернете не смог...

ООП в С++ (наследование, инкапсуляция, полиморфизм, перегрузка операторов): что читать? - C++
Нужно освежить, подзабылось. Были у меня институцкие методички доцента Шеховцова. Хороша вещь, но потерялись. Нужны либо набор...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
28.05.2013, 12:43
Ответ Создать тему
Опции темы

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