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

ные статические объекты, автоматически инициализируемые и доступные любому модулю, включающему заголовочный файл iostream.h.

#include <iostream.h>

// Компилировать с опцией Target Model = Console

void main()

{

char buf[128];

cout « "Привет. Как вас зовут?" « endl;

cin » buf;

cout. •« "Приятно познакомиться,." « buf « endl;

)

Базовые типы данных в качестве функций

В этой главе рассматривался взгляд на операции как на функции. Синтаксически операции выглядят совсем не как вызовы функций. *То же самое имеет место для базовых типов данных. Встроенные типы не являются функциями, но существуют такие варианты их применения, когда они начинают подозрительно походить на функции.

• Так происходит, во-первых, тогда, когда типы данных, как базовые, так и производные, используются для приведения типов.

• А во-вторых, типы данных могут применяться как операции преобразования (conversion operators).

Вам желательно иметь начальное представление об этих подходах, так как это поможет вам понять более сложные аспекты объектной парадигмы.

Базовым типам данных изначально свойственна простота и удобство в эксплуатации. Если вдуматься, то становится понятно, что эта простота достигается благодаря предоставляемой языком изначальной возможности программировать действия с предопределенными операциями и типами. Экстраполируя это соображение, можно прийти к выводу, что программирование можно существенно упростить, заставив производные типы данных работать по образу и подобию встроенных. Если вам удастся научить их этому, то, умея хорошо работать с базовыми типами, вы без труда управитесь и с любыми сколь угодно производными.

Идея представления базовых типов данных в качестве оператор-функций играет фундаментальную роль в механизме преобразования типов. О том как определить тип как оператор-функцию, точнее называемую функцией преобразования, рассказывается в главе 16 "Перегрузка операций". •

Приведение типов

Базовые типы данных иногда применяются для преобразования данных из одного типа в другой, и это называется приведением типов (typecasting).