MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Методы программирования в C++

Название:Методы программирования в C++
Просмотров:63
Раздел:Информатика, программирование
Ссылка:Скачать(21 KB)
Описание: Содержание: 1.  Статические элементы класса 2.  Виртуальные функции 3.  Абстрактные классы 4.  Виртуальные классы 5.  Шаблоны 6.  Обработка исключительных ситуаций в C++ 1.  Статическ

Часть полного текста документа:

Содержание:

1.  Статические элементы класса

2.  Виртуальные функции

3.  Абстрактные классы

4.  Виртуальные классы

5.  Шаблоны

6.  Обработка исключительных ситуаций в C++


1.  Статические элементы класса

 

В классе можно определять элементы данных и функции со спецификатором static. В этом случае их можно рассматривать как глобальные переменные или функции в пределах класса, и доступны они не одному объекту, а разделяются между всем классом, не ассоциируются с отдельными представителями класса.

class Name

{

public:

static int count; }

Для элементов, которые объявлены в открытой секции класса, вызов, например, будет выглядеть следующим образом:

Name::count+=2;

Если элементы определены в закрытой секции, то такое обращение некорректно.

Если мы объявили такой элемент в закрытой секции класса, то мы должны определить функции для работы с этими элементами. Обращение к таким функциям выглядит так: Name::Add1();

ПРАВИЛО:

1) Статические функции и элементы класса не ассоциируются с отдельными представителями класса. Обращение к ним производится выражением вида:

имя класса:: имя элемента

2) Им не передается указатель this, т.к. он ассоциируется с отдельным представителем класса.

3) Статические функции могут вызываться независимо от того, существует ли хотя бы один представитель класса.

4) Статические функции не могут быть виртуальными.

2.  Виртуальные функции

Виртуальные функции – это функции-члены класса, вызов которых осуществляется во время выполнения программы (то есть динамически) по типу объекта, с которым она используется.

Например, базовый класс может описывать фигуру на экране без конкретизации ее вида, а производные классы (окружность, эллипс и т.п.) однозначно определяют ее формы и размеры. Если в базовом классе ввести функцию для изображения фигуры на экране, то выполнение этой функции будет возможно только для объектов каждого из производных классов, определяющих конкретные изображения.

Объявление виртуальной функции в классе:

virtual прототип_функции;

Отметим, что классы, включающие такие функции, играют особую роль в объектно-ориентированном программировании. Именно поэтому они носят специальное название – полиморфные.

Вернемся к упомянутому выше примеру с фигурами. Рассмотрим класс Point (производный от Location).

Пусть в этом классе определена компонентная функция void Show(). Так как внешний вид фигуры, для которой будет использоваться данная функция, в базовом классе еще не определен, то в каждый из производных классов нужно включить свою функцию void Show() для формирования изображения на экране. Это не очень удобно, поэтому в таких случаях используют механизм виртуальных функций. Любая нестатическая функция базового класса может быть сделана виртуальной, если в ее объявлении использовать спецификатор virtual.

class Point: public Location{

protected:

Boolean vis;

public:

Point (int nx,int ny);

virtual void Show();

virtual void Hide();

virtual void Drag(int by);

Boolean Isvis() { return vis;}

void MoveTo (int nx ,int ny); };

Виртуальными могут быть не любые функции, а только нестатические компонентные функции какого-либо класса. После того как функция определена как виртуальная, ее повторное определение в производном классе (с тем же самым прототипом) создает в этом классе новую виртуальную функцию, причем спецификатор virtual может не использоваться.

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





Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  



Похожие работы:

Название:Функции сравнительного правоведения
Просмотров:65
Описание: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫКУРСОВАЯ РАБОТА на тему Функции сравнительного правоведения по дисциплине Сравнительное правоведениеКИЕВ 2011   СОДЕРЖАНИЕ Введение 1. Научная функц

Название:Функции государства в их многообразии и развитии
Просмотров:62
Описание: Содержание Введение Глава 1. Функции государства 1.1. Понятие и признаки функций государства 1.2 Классификация функций государства 1.3 Глобальные проблемы и функции государства 1.4. Эволюция функций госуд

Название:Булевы функции
Просмотров:175
Описание: 1.Основные понятия булевой алгебры Технические вопросы, связанные с составлением логических схем ЭВМ, можно решить с помощью математического аппарата, объектом исследования которого являются функции, приним

Название:Предмет и функции философии
Просмотров:123
Описание: Содержание Введение 1. Предмет философии. Место философии в системе наук и культуре 2. Основные разделы философии 3. Мировоззренческая, методологическая, рефлексивно–критическая и интегративная функция

Название:Фонд обязательного медицинского страхования: структура и функции
Просмотров:150
Описание: ВВЕДЕНИЕ фонд обязательное медицинское страхование Обязательное медицинское страхование - составная часть системы социального страхования. Создание внебюджетных фондов (пенсионного, занятости, социальног

 
     

Вечно с вами © MaterStudiorum.ru