class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

STL

основы

введение
Инструментарий
Проекты в C++
Комментарий
Утверждения
Идентификаторы
Область видимости
Литералы
Типы данных, переменные
Константы, перечисления
Выражения и операции
Агрегатные типы
Указатели
Ссылки
Массивы
Строки
Управляющие операторы
Функции
Аргументы функции

ООП

Терминология
Определение классов
Константные методы
Статические члены
Наследование
Инкапсуляция
Полиморфизм
Инициализация и уничтожение объектов
this

прочее

шаблоны
макросы
динамическая память
исключения
rtti

Справочник по C++

Макросы

Макросы позволяют заменить большой тект коротким именем макроса. Позволяются также макросы с параметрами. При этом в отличие от функций с атрибутом inline, проверки типов аргументов не выполняется, а тело макроса может быть сколь угодно сложным. Подстановка выполняется на стадии компиляции. Макросы являются наследием языка С, и в С++ обычно заменяются безопасными возможностями языка как шаблоны, inline функции, перечисления enum, переопределение типов typedef.

Макросы определяются командой препроцессора #define и отменяются командой #undefine. Для продолжения макроса на другой строке используется символ \\.


//-----------------------------------------
// макросы и перечисления
#define bit0 1
#define bit1 2
#define bit2 4
#define bit3 8
#define bit4 16
#define bit5 32
#define bit6 64
#define bit7 128

enum {
BIT0=1,
BIT1=2,
BIT2=4,
BIT3=8,
BIT4=16,
BIT5=32,
BIT6=64,
BIT7=128	
};

//-----------------------------------------
// макросы и typedef
#define CINTP const int*
typedef const int* cintp; 


//-----------------------------------------
// макросы и функции
#define MIN(a,b)  ( (a<b)?a:b )

template <typename T>
inline T minimum (T arg1, T arg2){
	return (arg1<arg2)?arg1:arg2;
}

//-----------------------------------------
// макросы для подстановки текста

// двухстрочный макрос 
#define ctpl template<typename T> \\
	class

// объявляем шаблон класса
ctpl MyClass1 {
	T val;
};

...

ctpl MyClassn {
...
};

// отключаем макрос
#undef ctpl

Рейтинг@Mail.ru