    Глава 15 

    Передовые средства C++ 

    Научиться программировать на компьютере — все равно, что научиться ходить. 
Как только вы сумеете самостоятельно стоять на ногах, начнется настоящая 
работа — рассчитать, как добраться из пункта А в пункт В. 
    С теми знаниями о возможностях ANSI С и C++, которыми вы уже обладаете, вы 
вполне способны задумать и реализовать приложение изрядного размера. Но не 
заканчивайте на этом ваше обучение. В этой главе вы ознакомитесь с передовыми 
средствами C++, такими, как перегрузка операторов, потоковые классы, шаблоны и 
многое другое, что может оказаться неоценимым в ваших программистских 
скитаниях. Вы также узнаете о новейших средствах Borland C++ версии 4.0 — 
исключительных ситуациях, получении динамической информации о типе и новом 
строковом классе string ANSI C++. 

    Друзья 

    Одно из основных преимуществ ООП — инкапсуляция данных в классе. Вы 
ознакомились со множеством примеров этой концепции скрытия данных в предыдущих 
листингах и ее выгодами, связанными с уменьшением работы по поддержке 
программы и более легкой отладкой. 
    Конечно, подобно многим правилам в жизни и в программировании, концепция 
скрытия данных существует для того, чтобы ее нарушали. В C++ вы можете обойти 
правила инкапсуляции с помощью друзей, хотя при этом вы рискуете благополучием 
вашей программы. Объявление друзей класса подобно вручению сожителю дубликатов 
ключей от вашей квартиры. И если вы удалились на уикэнд, не удивляйтесь, 
когда, вернувшись, вы увидите, что ваш знакомый прикорнул на диване, а 
холодильник основательно выпотрошен. 
    Классы в C++ позволяют объявлять два вида друзей. Один класс как единое 
целое может быть другом другого класса, или же другом может объявляться только 
одна функция. В следующем разделе описываются оба этих средства C++. 

    ЗАМЕЧАНИЕ 

    Если друзья имеют брата-близнеца в C++, так это оператор goto. Подобно goto,
друзья позволяют вам пренебречь правилами, призванными помочь вам написать 
надежный код. Не подумайте, что следующий раздел поощряет ис-

