- •Ооп основано на понятии класса и объекта
- •Тип_возвр_знач имя_класса :: имя_метода (список, параметров) {реализация метода}
- •Параграф 2 Конструкторы и деструкторы (стр 272)
- •Параграф 3 - дружественные функции (файл op2) (стр 294)
- •Параграф 5 - перегрузка операций
- •Параграф 6 Статические компоненты класса (стр 506)
- •Параграф 8 - класс-контейнер (справочник 642)
- •Абстрактные классы и виртуальные функции
Абстрактные классы и виртуальные функции
(стр 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 - Гэри Неббет
диалоговые окна бывают двух типов
модальные - при вызове ждут от пользователя реакции (нельзя продолжить работу)
немодальные - можно открывать несколько немодальных диалогов и работать в любом порядке с ними