Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP второй семестр.doc
Скачиваний:
4
Добавлен:
23.09.2019
Размер:
187.9 Кб
Скачать

Абстрактные классы и виртуальные функции

(стр 378) (см полиморфизм)

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

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

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

Прототипы виртуальной функции и её переопределений должны быть строго одинаковыми. Если прототипы будут различны, то функция будет перегруженной.

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

Виртуальными могут быть в том числе деструкторы, конструкторам нельзя.

Класс, в котором определены тольео виртуальные функции называется абстрактным.

virtual тип_возвр_значения имя_функции (список параметров)

не разрешается создавать объекты абстрактных классов, абстрактные классы создаются только для иерархии.

См программу shape

программирование консольных приложений в winAPI - библиотека функций для разработки графического приложения лдя виндовс

венгерская нотация – соглашение об переменных, констант и прочих индификаторов в коде программ. По сути является внутриренним стандартом Microsoft.

s

string

строка

sClientName

sz

zero-terminated string

строка, ограниченная нулевым символом

szClientName

n, i

int

целочисленная переменная

nSize, iSize

l

long

длинное целое

lAmount

b

boolean

булева переменная

bIsEmpty

a

array

массив

aDimensions

t, dt

time, datetime

время, дата и время

tDelivery, dtDelivery

p

pointer

указатель

pBox

lp

long pointer

двойной (дальний) указатель

lpBox

r

reference

ссылка

rBoxes

h

handle

дескриптор

hWindow

m_

member

переменная-член

m_sAddress

g_

global

глобальная переменная

g_nSpeed

C

class

класс

CString

T

type

тип

TObject

I

interface

интерфейс

IDispatch

v

void

отсутствие типа

vReserved

скобки условной компиляции

GetStdHandle function

GetConsoleScreenBufferInfo function

Справочник по базовым функциям API - Гэри Неббет

диалоговые окна бывают двух типов

модальные - при вызове ждут от пользователя реакции (нельзя продолжить работу)

немодальные - можно открывать несколько немодальных диалогов и работать в любом порядке с ними

11

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]