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

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

Войти
Регистрация
Восстановить пароль
 
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
#1

Полиморфизм - C++

23.05.2010, 18:55. Просмотров 1086. Ответов 1
Метки нет (Все метки)

Прочитал в Википедии что такое полиморфизм:
HTML5
1
Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций».
Смотрите 1 интерфейс, интерфейс- это методы и поля описанные внутри класса, как паблик.
А множество реализаций,это когда я создам экземпляр этого класса и через него обращусь к этим методам и полям?
Получается что я могу создавать разные объекты этого класса и получать доступ к методам и полям описанных в Этом классе.
Полиморфизм - это когда я могу создавать много разных объектов этого класса, и получать доступ к методам и полям класса, применяя эти методы и поля в разных целях в коде ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2010, 18:55     Полиморфизм
Посмотрите здесь:

полиморфизм=( - C++
Ув.Знатаки Доброго времени суток!Вот есть проблемка с написание полиморфизма,вот написал класс,написал наследование,а вот как теперь сюда...

С++ и полиморфизм - C++
Здравствуйте. Ответьте пожалуйста на несколько вопросов: 1. Что такое абстрактная функция простыми словами? 2. Что такое...

Полиморфизм. - C++
Доброго времени суток. Помогите решить следующую задачку: Создать класс периодическое издание (название, стоимость экземпляра и...

Полиморфизм - C++
Хай :senor: class MyPrint//производный класс { public: MyPrint() { cout << "Constructor MyPrint" << endl; } virtual...

Полиморфизм - C++
Всем доброго времени суток, Разъясните пожалуйста задание: Создать класс живущих с местоположением . Определить наследуемые классы -...

Полиморфизм - C++
Сколько я не читал книг и уроков по С++-программированию, я так и не смог понять что такое полиморфизм. Можно ли как-то просто и...

Полиморфизм - C++
полиморфизм runtime vs compile polymorphism: как вы на проектах определяете, когда стоит пользоваться шаблоном, а когда...

Полиморфизм - C++
Здравствуйте :) Я пытался читать про полиморфизм. Читал-читал, но не очень дошло. Понял, что можно переопределить виртуальную функцию...

Полиморфизм - C++
Вот сделал прогу а ее надо было сделать полиморфизмом - кому несложно переделайте #include <iostream.h> #include <conio.h> ...

Полиморфизм - C++
Имеется такая задача Создать абстрактный базовый класс Integer (целое) с виртуальными арифметическими операциями и функцией вывода на...

Полиморфизм - C++
В одной дешевой книжке про него пишут а в другой дорогой нет и понять я почему то немогу точно как и для чего он нужен

Полиморфизм в с++ - C++
Вообщем я делал программу,изначально в ней было реализовано наследование.Затем дали задание реализовать полиморфзим для функции Scale для...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
23.05.2010, 19:55     Полиморфизм #2
Примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
using namespace std;
 
//Один интерфейс:
class IBaseInterface {
public:
virtual ~IBaseInterface(){} 
virtual void UnKnownFunc() = 0;
};
//------------------------------------------
//Остальное множество реализаций
 
 
//Реализация один.
class CComponent_I : public IBaseInterface {
public:
virtual ~CComponent_I (){} 
virtual void UnKnownFunc(){ cout<<"CComponent_I func\n"; }  
};
 
//Реализация два.
class CComponent_II : public IBaseInterface {
public:
virtual ~CComponent_II (){} 
virtual void UnKnownFunc(){ cout<<"CComponent_II func\n"; }     
};
 
//Реализация три.
class CComponent_III : public IBaseInterface {
public:
virtual ~CComponent_III (){} 
virtual void UnKnownFunc(){ cout<<"CComponent_III func\n"; }    
};
 
 
int main(){
IBaseInterface *mpPoly[3] = {new CComponent_I(),new CComponent_II(),new CComponent_III()};
//в каждой итерации вызываеться реализация соответсующего класса.
for( int p = 0 ; p < 3; p++ )mpPoly[p]->UnKnownFunc();
 
 
for( int i = 0 ; i < 3; i++)delete mpPoly[i];
return 0;
}
Все подробности в соответствующей литературе по C++.
Yandex
Объявления
23.05.2010, 19:55     Полиморфизм
Ответ Создать тему
Опции темы

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