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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 73, средняя оценка - 4.97
downloadpascal
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 32
#1

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

09.06.2010, 14:04. Просмотров 10716. Ответов 12
Метки нет (Все метки)

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

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

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
09.06.2010, 14:12 #2
http://www.quizful.net/interview/cpp...ism-definition
1
Alexandoros
228 / 66 / 4
Регистрация: 02.06.2009
Сообщений: 280
09.06.2010, 16:11 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class CBase
{
 
     virtual void Do(){printf("1 ");}
     void Do2(){printf("11 ");}
}
 
 
class CDerived: public CBase
{
 
     virtual void Do(){printf("2 ");}
     void Do2(){printf("22 ");}
}
 
int main()
{
     CBase *ptr = new CDerived;
     ptr->Do();         // ПОЛИМОРФИЗМ
    ptr->Do2();
}
 
Выведет 2 11
при создании статических переменных в классе, после объявления куда память выделяется?
Там же где и для глобальных переменных.
1
oxotnik
1590 / 1067 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
09.06.2010, 16:14 #4
если по простому, то полиформизм это возможность наследования, т.е. создание своих объектов (классов) на основе существующих.
0
downloadpascal
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 32
09.06.2010, 18:15  [ТС] #5
class a
{
int x;
public:
a(int i) {x= i;}
}

class b:a
{
int y;
public:
b(int i,int j) {x=i;y=j;}

вот это полиморфизм?
}
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
09.06.2010, 18:45 #6
Цитата Сообщение от oxotnik Посмотреть сообщение
если по простому, то полиформизм это возможность наследования, т.е. создание своих объектов (классов) на основе существующих.
Это наследование, а не полиморфизм.
Полиморфизм это свойство объектов позволяющее единообразно взаимодействовать с объектам различных типов, при этом результат будет зависеть от конкретного типа объекта.
В C++ полиморфизм реализуется через виртуальные функции.
Читайте литературу, например, Буч.Г Объектно-ориентированный анализ и проектирование. Легче один раз прочитать, чем сто раз спрашивать.
Цитата Сообщение от downloadpascal Посмотреть сообщение
вот это полиморфизм?
Нет.
0
downloadpascal
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 32
10.06.2010, 06:16  [ТС] #7
так я спрашиваю , потому что не понял прочитанное!!

немного стало доходить,это наследование виртуальных функций базового класса производным классам
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.06.2010, 06:33 #8
Полиморфизм.
0
rrrFer
Заблокирован
10.06.2010, 06:57 #9
недавно на одном форуме этот вопрос на 4 страницы вырос (жаль ссылку дать нельзя, но погугли)- спрашивал некий mister2010(это не вы случайно?). Автор темы так и не разобрался, и ИМХО сначала надо задуматься, так-ли вам надо знать что это такое если вам непонятно определение, например, из википедии, и примеры, которых куча в интернете и, в том числе, нормальный пример привел Alexandoros
0
downloadpascal
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 32
10.06.2010, 06:59  [ТС] #10
люди можете примерчик маленький привести, ато по определениям не получается понять!!
Заранее благодарен!!
0
rrrFer
Заблокирован
10.06.2010, 07:00 #11
вот кстати, он и на этом форуме спрашивал:
ссылка

Добавлено через 58 секунд
смотри тут
0
downloadpascal
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 32
10.06.2010, 09:58  [ТС] #12
нет это не я))

Добавлено через 2 часа 54 минуты
Все чуваки разобрался, наконец-то , полиморфизм - когда один оператор используется для различных действий,как у Alexandoros в примере , с использованием указателей.
правильно я понял?
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.06.2010, 10:02 #13
Цитата Сообщение от downloadpascal Посмотреть сообщение
Все чуваки разобрался, наконец-то , полиморфизм - когда один оператор используется для различных действий,как у Alexandoros в примере , с использованием указателей.
Не только. Полиморфизм - это когда для разных действий используется одина подпрограмма или один оператор, а не именно один оператор. Причём, под подпрограммой здесь понимается также и метод (подпрограмма-член класса).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2010, 10:02
Привет! Вот еще темы с ответами:

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

Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере - C++
Есть класс, содержащий объекты и конструктор. Конструктор объявляется в одном из cpp файлов(их несколько). Можно ли, как-то, использовать...

Что такое перегрузка оператора? Что у меня в коде за ошибка? - C++
Что же я написал?? Что оно не компилится? Что значит error C2275: Superclass: недопустимое использование этого типа в качестве выражения ...

В этой части кода происходит объявление функций? Что такое void? Что в скобках? - C++
В этой части кода происходит объявление функций? Что такое void? Что в скобках? void get(float **mas, int N, int M); void...


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

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

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