Константы и перечисления
План лекции
Лекция 3.2. Константы, перечисления, синонимы типа
1. Константы и перечисления
2. Особенности использования констант
3. Использование заголовка limits.h
4. Использование констант в библиотеках
5. Синонимы типов
6. Использование синонимов типов в системных заголовках
7. Особенности использования типа char
8. Таблица символов
9. Функции ввода одиночных символов
10. Расширенные символы wchar_t
Для определения именованных констант лучше использовать операторы С++ const и enum (перечисления) вместо директивы препроцессора #define.
// Пример 3.2.1
// Объявление констант с помощью директивы #define - язык С
#define MAX 1000
#define PI 3.14
#define Qe -1.6e-19
#define str "Программа завершила работу."
// Объявление констант с помощью оператора const - язык С++
const int MAX=1000;
const float PI=3.14;
const double Qe -1.6e-19;
const char str[]="Программ завершила работу.";
// Перечисляемые константы заданы с помощью директивы #define - язык С
// названия цветов и их условные номера
#define BLACK 0
#define RED 1
#define GREEN 2
#define YELLOW 3
#define BLUE 4
#define MAGENTA 5
#define CYAN 6
#define WHITE 7
// названия кнопок клавиатуры их стандарные номера
#define LEFT 75
#define RIGHT 77
#define UP 72
#define DOWN 80
#define ENTER 13
#define ESC 27
#define BLANK 32
// Перечисляемые константы определены с помощью оператора enum
// язык С++
enum COLOR {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE};
enum Keys {LEFT=75, RIGHT=77, UP=72, DOWN=80, ENTER=13, ESC=27, BLANK=32};
// Примеры перечисляемых констант заданых с помощью оператора enum
// язык С++
enum BOOL {FALSE,TRUE};
enum ERROR {NOERROR,WARNING=8,SMALLERR,HARDERR=16};
enum DaysOfWeek {Sunday, Monday};
enum MonthOfYear {Jan=1,Feb,Mar, Apr};
enum Shape {Circle, Rectangle, Square, Triangle};
enum Disks {HARD, FLOPPY, CDR, CDRW};
enum WindowStyle { Sizeable, Single, Dialog};
enum Figura { Ocrugnost, Priamougolnic, Kvadrat, Treugolnic};