Первый выпуск блога, ох не нравится мне это слово - надо бы назвать как то иначе, вышел. Первый блин как всегда комом.
Много новостей из мира конкретно программинга я не нашел, а вот просто интересные - вывел. Напишите mailto:club@shelek.com какие выпуски и какого содержания вы бы хотели иметь. Если есть желание - открыт форум по блогу: http://forum.shelek.com/index.php/board,81.0.html в котором не только будут обсуждаться выпуски, но и ваши пожелания по содержанию буду читать с удовольствием.
Краткое содержание первого выпуска:
Кросплатформенный RealBASIC 2005 Новый вирус заражает Symbian OS через MMS. Борьба с P2P XNA Studio to Integrate Teams and Speed Game Production
Часть 2. Абстрактные классы и пример использования
Давайте продолжим начатое в первой части статьи рассмотрение использования виртуальных функций. На этот раз я предлагаю вам конкретный пример. Пусть очень простой, но зато он полностью работоспособен, и позволяет продемонстрировать все тонкости, о которых вы уже прочитали. Но, для начала, еще немного теории, которая не вошла в первую часть.
Чистые виртуальные функции
Можно подумать, что все остальные
функции «грязные»! Нет, конечно. Чистая – в данном случае означает буквально пустая функция. Давайте посмотрим, что такое чистая виртуальная функция. class A { public: virtual void v_function(void)=0;//чистая виртуальная функция };
Как видите, все отличие только в том, что появилась конструкция «=0», которая называется «чистый спецификатор». Чистая виртуальная функция абсолютно ничего не делает и недоступна для вызовов. Ее назначение – служить основой (если хотите,
шаблоном) для замещающих функций в производных классах. Класс, который содержит хотя бы одну чистую виртуальную функцию, называется абстрактным классом. Почему абстрактным? Потому, что создавать самостоятельные объекты такого класса нельзя. Это всего лишь заготовка для других классов. Механизм абстрактных классов разработан для представления общих понятий, которые в дальнейшем предполагается конкретизировать. Эти общие понятия обычно невозможно использовать непосредственно, но на их основе можно, как
на базе, построить производные частные классы, пригодные для описания конкретных объектов.