Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/246: Рейтинг темы: голосов - 246, средняя оценка - 4.93
 Аватар для Mar-12
-21 / 5 / 3
Регистрация: 14.03.2013
Сообщений: 130

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

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

Студворк — интернет-сервис помощи студентам
что такое статический полиморфизм?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2013, 20:11
Ответы с готовыми решениями:

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

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

Статический полиморфизм
Есть базовый класс Employee и производный от него Boss. И в базовом, и в производном классе есть ф-ии вывода и подсчёта зарплаты(void...

32
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
26.05.2013, 20:47
Цитата Сообщение от Mar-12 Посмотреть сообщение
статический полиморфизм?
Например, перегрузка функций.
Конечное действие определяется во время компиляции.

При динамическом полиморфизме - на этапе выполнения
1
 Аватар для Mar-12
-21 / 5 / 3
Регистрация: 14.03.2013
Сообщений: 130
26.05.2013, 21:13  [ТС]
Croessmah, а кроме перегрузки какие еще примеры можете сказать?
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
26.05.2013, 21:19
Инстанцирование шаблонов.
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
26.05.2013, 21:22
C++
1
2
3
4
5
template <typename Obj>
void Foo(Obj obj)
{
   obj.doSomething();
}
функция компилируется или не компилируется в зависимости от того, есть ли у объекта типа
Оbj method doSomething или мембер с именем doSomething, для которого можно применить оператор ();
все это дело определяется на этапе компиляции. и в зависимости от объекта, вызов
будет делать то или иное. причем тут объекты не связаны между собой каким-нибудь
базовым классом как в случае с динамическим полиморфизмом, где похожее поведение
достигается за счет виртуальных функций.
1
Заблокирован
26.05.2013, 21:27
Цитата Сообщение от Mar-12 Посмотреть сообщение
что такое статический полиморфизм?
Я это называю проще - затирание.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
26.05.2013, 21:28
Цитата Сообщение от _Mutex Посмотреть сообщение
Я это называю проще - затирание.
!=
Это не одно и тоже
0
Эксперт С++
 Аватар для ITcrusader
179 / 165 / 21
Регистрация: 12.02.2013
Сообщений: 410
26.05.2013, 23:19
Цитата Сообщение от _Mutex Посмотреть сообщение
затирание
впервые вижу этот термин - он обще-употребителен?
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
26.05.2013, 23:24
Цитата Сообщение от ITcrusader Посмотреть сообщение
впервые вижу этот термин - он обще-употребителен?
не понятно только что это означает - переопределение или перекрытие. По слову - переопределение, по логике ответа - перекрытие
0
Заблокирован
28.05.2013, 12:02
Цитата Сообщение от 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
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
28.05.2013, 12:12
Цитата Сообщение от _Mutex Посмотреть сообщение
Цитата Сообщение от Mar-12 Посмотреть сообщение
что такое статический полиморфизм?
Я это называю проще - затирание.
Цитата Сообщение от _Mutex Посмотреть сообщение
что вызов метода родителя становится невозможен без явного указания, из класса потомка.
Это лишь одно из проявлений статического полиморфизма, а не сам статический полиморфизм, так что !=
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.05.2013, 12:21
http://stackoverflow.com/quest... phism-in-c тут и про статик есть.
0
Заблокирован
28.05.2013, 12:33
Цитата Сообщение от Croessmah Посмотреть сообщение
Это лишь одно из проявлений статического полиморфизма, а не сам статический полиморфизм, так что !=
это все и есть статический полиморфизм, другого нет.

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


Друзья мои, если вам что то не нравится, учите теорию. Не надо на меня накидываться все разом, как волки на мясо.
Ответ последний.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.05.2013, 12:41
_Mutex, Википедия авторитетнее stackoverflow? Are you kidding me?
0
Заблокирован
28.05.2013, 12:43
Друзья мои, если вам что то не ясно - учите теорию.
Не надо на меня бросаться все разом, как волки (( ...Я свой ответ пояснил, на этом все.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.05.2013, 12:44
_Mutex, Это вам нужно учить теорию. Полиморфизм в С++ многонранен и не ограничивается ТОЛЬКО динамическим. То, что вы привели, является частным случаем статического полиморфизма.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
28.05.2013, 12:57
Цитата Сообщение от _Mutex Посмотреть сообщение
если есть простые авториретные страницы
Не в данной тематике. Но если для Вас это авторитетная страница, то вот Вам с википедии цитата:
Полиморфизм может пониматься как наличие точек кастомизации в коде, когда один и тот же написанный программистом фрагмент кода может означать разные операции в зависимости от чего-либо.

В одном случае конкретный смысл фрагмента зависит от того, в каком окружении код был построен. Это т.н. статический полиморфизм. Перегрузка функций, шаблоны в Си++ реализуют именно статический полиморфизм. Если в коде шаблонного класса вызвана, например, std::sort, то реальный смысл вызова зависит от того, для каких именно типовых параметров будет развернут данный шаблон - вызовется одна из std::sort<T>.
Добавлено через 1 минуту
Цитата Сообщение от _Mutex Посмотреть сообщение
Друзья мои, если вам что то не ясно - учите теорию.
Вот вот, учите теорию...и не по википедии

Добавлено через 4 минуты

Не по теме:

Цитата Сообщение от ForEveR Посмотреть сообщение
Википедия авторитетнее stackoverflow?
Видимо да :)
Самое интересное, что если пройти по ссылке на указанную страницу википедии, то там есть ссылка на страницу с определением полиморфизма, откуда, собственно и приведена цитата :facepalm:



Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от _Mutex Посмотреть сообщение
Друзья мои, если вам что то не нравится, учите теорию.
Цитата Сообщение от _Mutex Посмотреть сообщение
Не надо на меня накидываться все разом, как волки на мясо.
И кто тут на кого еще набросился:(

0
Заблокирован
28.05.2013, 13:16
Цитата Сообщение от Croessmah Посмотреть сообщение
Не в данной тематике. Но если для Вас это авторитетная страница, то вот Вам с википедии цитата:


Добавлено через 1 минуту

Вот вот, учите теорию...и не по википедии
статический полиморфизм , это именно то, что я вам показал ранее. Принцип полиморфизма. Из нескольких вариантов значений на этапе компиляции выбирается подходящий, этот пример показывает суть статического полиморфизма. Это не частный случай полиморфизма, это показательный пример.

Вы мне показываете реализации стат. полиморфизма и говорите .. вот видишь еще тут и тут. Вы пишете про следствие. Да принцип тут этот используется, но кроме как в стат. полиморфизме больше нигде.
ГДЕ в статическом полиморфизме используется ДРУГОЙ принцип? Покажите где?
Я говорил и говорю, что называю это затиранием, когда выбирается один вариант и недоступен другой (затерт).
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.05.2013, 13:20
_Mutex, Я может слегка не понимаю, но как это можно назвать затиранием?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <typeinfo>
 
template<typename T>
void function()
{
   std::cout << typeid(T).name() << std::endl;
}
 
int main()
{
   function<int>();
   function<double>();
}
0
28.05.2013, 13:24

Не по теме:

Кстати,

Цитата Сообщение от _Mutex Посмотреть сообщение
Переопределение - это повторное определение, вне зависимости виртуальная ф-я или нет.
Если функция не виртуальна, то происходит банальное перекрытие, а не переопределение :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.05.2013, 13:24
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru