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

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

Войти
Регистрация
Восстановить пароль
 
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
#1

virtual методы и template - C++

07.05.2013, 19:16. Просмотров 277. Ответов 1
Метки нет (Все метки)

Здраствуйте! Объясните пожалуйста понятно для чего нужны virtual методы, в том числе виртуальный полиморфизм, если можно наведите пример.
Так же для чего нужны шаблоны ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2013, 19:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос virtual методы и template (C++):

тупой вопрос virtual методы - C++
есть вопрос! вот например class A { public: virtual int func(); }; class B:public A {

Ошибки: 1) use of class template requires template argument list 2) 'T' : undeclared identifier - C++
Решил подправить свой класс с использованием шаблонов, но столкнулся со следующим косяком. Если я прописываю тело функций внутри описания...

'MyQueue' : use of class template requires template argument list - C++
Написал код про шаблоны. Не могу понять почему выводит ошибку во время наследования класса. ошибки 'MyQueue' : use of class template...

Ошибка компиляции: template-id does not match any template declaration - C++
Здравствуйте. Помогите, пожалуйста: #include <iostream> using namespace std; template <typename T> T maxn(T*, const int*); ...

В чем различие template <typename T> от template <class T> ? - C++
Добрый день ! Заметил в новых книгах применение записи template &lt;typename T&gt; вместо template &lt;class T&gt; в чем же тогда фишка...

Visual Studio выдаёт ошибку при вынесении объявления функции с template в .h файл. Без template всё работает - C++
Проект содержит три файла: Source.cpp, arrTreat.h, arrTreat.cpp. Source.cpp: #include &lt;iostream&gt; using std::cout; using...

1
mat_for_c
207 / 202 / 47
Регистрация: 26.04.2013
Сообщений: 944
Завершенные тесты: 3
07.05.2013, 19:39 #2
Виртуальные методы применяются, когда не известно, какой тип будет использоваться в программе. Например, нельзя в общем случае просто так сравнить 2 объекта некого типа Type через операторы ==, <, > и т.д.
Для наглядности в качестве типа Type можно взять структуру с несколькими полями. И тогда одна структура будет меньше другой, если будем сравнивать их по конкретному полю, но ни как по другому.
Пусть мы пишем шаблон бинарного дерева. Тогда в нем нужно указать виртуальную функцию сравнения 2-х объектов, а в своей программе, которая будет использовать этот шаблон, нужно уже самому написать тело метода сравнения, чтобы шаблон дальше сам раскидывал элементы по дереву.
Получается, что шаблоны пишутся для того, чтобы их можно было применять для любых типов.

Как-то так в общих чертах.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 19:39
Привет! Вот еще темы с ответами:

MSVC и template template classes - C++
Приветствую. Как в MSVC передать template template класс? Простой пример template&lt;template&lt;typename, typename&gt; class Return&gt; ...

Protected abstract virtual base pure virtual private destructor - C++
Хай, all) Вопрос не для начинающих и дурацкий) В разделе для экспертов публиковать не стал, чтобы не засорять его) Наткнулся тут на...

Friend template class with template class argument - C++
Помогите подружить 2 класса: Имеется класс Student: template &lt;class _T&gt; class Faculty; class Student{ friend...

Не пойму конструкцию template <template <class T> class X> - C++
Что это за шаблон такой?


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

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

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