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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в работе с памятью http://www.cyberforum.ru/cpp-beginners/thread858587.html
После использования программы и последующего выхода из нее возникает ошибка HEAP CORRUPTION DETECTED. Хотелось бы узнать, в чем причина и как в данном случае правильно выделить и освободить память....
C++ Построение графиков Помогите, пожалуйста, решить задачу! Кривая спроса описана функцией f(x)=х+1, а кривая предложения- f(х)=200-х. Построить таблицу функций f(х) на отрезке . Написать программу построения графиков... http://www.cyberforum.ru/cpp-beginners/thread858586.html
Одномерные массивы (сумма отрицательных элементов, произведение между максимальным и минимальным элементами, упорядочить по возрастанию) C++
Здравствуйте!У меня к вам просьба,вы не могли бы мне помочь с решением задачи на массивы!Написать нужно на Си++ В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) сумму...
Проблемы с компиляцией C++
пишу простенькую прогу, переводящую число в часы, секунды и минуты. Появляется вот это: fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include...
C++ использование процедур (вычислить значение выражения) http://www.cyberforum.ru/cpp-beginners/thread858546.html
Даны действительные числа s,t. Получить g(1.2,s)+g(t,s)-g(2s-1,st), где g(a,b)=(a^2+b^2)/(a^2+2ab+3b^2+4).
C++ Подпрограмма. Рассмотреть отрезки последовательности a1...an Даны натуральное число n, целые числа a1...an. Рассмотреть отрезки последовательности a1...an (подпоследовательности идущих подряд членов), состоящие из а) полных квадратов; б) степеней пятерки;... подробнее

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

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