776______________________________Часть II. Программирование на C++

тат зависит от вашей задумки. Всего существует с полдюжины базовых типов данных, которые из-за их немногочисленности достаточно просто изучить.

Тем не менее разработчики придерживаются слегка иной концепции объектно-ориентированного программирования. Системные программисты создают свои структуры языка, тогда как более узкие специалисты, решающие свои текущие задачи, пользуются готовым набором команд. Крупные компании, такие как Microsoft, создают собственные системы обозначений, которые кажутся перегруженными новыми именами. Таким образом очевидно, что основа языка может видоизменяться при использовании его различными людьми.

Как не раз уже говорилось, C++ — строго типизированный язык. Из этого следует, что применение данных должно строго соответствовать их объявлениям. Для примера рассмотрим возможные способы представления календарных дат:

int day, month, year; •

ИЛИ:

struct DATE( int day, month, year; };

typedef struct DATE date;

или так:

typedef unsigned char DAY; // самый экономичный тип данных typedef unsigned char MONTH; // для хранения чисел 1-31 typedef unsigned int YEAR;

DAY day;

MONTH month;

YEAR year;

В первом варианте используются базовые типы данных. Если вы знаете значения, которые им удовлетворяют, то тогда проблем не возникает, если же нет, то их можно узнать из файла Limits.h. Второй вариант, возможно, проще, но при этом необходимо кое-что знать о псевдониме DATE, чтобы понять, как присваивать значения объектам этого типа. При третьем объектно-ориентированном подходе определение псевдонимов для каждого типа может оказаться более привлекательным, так как в таком случае комментарием может служить сама программа:

void PrintDate( DAY d, MONTH m, YEAR y) ;

Можно и так. Проблема состоит в том, что в существующих программах встречается много различных вариантов. Но, как бы заманчиво ни выглядела идея установления четкого стандарта в данном вопросе, практика показывает, что у каждого программиста свой стиль, и рассчитывать на то, что все будут придерживаться вашего стандарта, не приходится.