Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том1)" -> 36

Visual С++ 6. Полное руководство: В 2 т.(том1) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 30 31 32 33 34 35 < 36 > 37 38 39 40 41 42 .. 204 >> Следующая

• В языке С++ легко задать комментарий-строку символами "//".
• На языке С++ можно объявить локальную переменную в любом месте кода, непосредственно перед ссылкой на данную переменную. Не обязательно размешать все локальные объявления в начале блока.
• Можно сослаться на глобальную переменную, скрытую локальной переменной с идентичным именем, поместив перед именем глобальной переменной операцию расширения области видимости
• Если объявить функцию, используя ключевое слово inline, то компилятор заменит все вызовы функции копией фактического кода функции (если это возможно).
• При объявлении или определении функции допустимо присвоить одному или более параметрам стандартные значения. Если при вызове функции опустить параметр со стандартным значением, то компилятор автоматически передаст стандартное значение.
• Символ & используется для определения переменной типа ссылка, служащей псевдонимом другой переменной. Кроме того, параметры функции и тип возврата функции также могут быть определены как ссылки.
• Можно определить переменную для хранения значения константы, используя ключевое слово const. Указатель или ссылка на тип const используется как значение, предназначенное "только для чтения". Параметр функции, объявленный как указатель или ссылка на данные типа const, гарантирует, что функция не изменит значение переданной переменной.
• Под одним именем допускается объявлять несколько функций, если каждая из них отличается числом или типами параметров. Когда такие функции встречаются внутри одной области видимости, говорят, что они перегружаются. При вызове перегружаемой функции, компилятор вызывает другую функцию, соответствующую числу и типу передаваемых параметров.
• Выделять и освобождать блоки памяти из свободной памяти можно, используя операторы С++ new и delete. Механизм работы этих операторов адаптирован к нуждам программ, написанных на С++, особенно использующих классы.
В следующей главе рассмотрено новое основное средство языка С+ + , называемое классами.
Глава 4
Определение классов С++
• Определение класса
• Создание экземпляра класса
• Доступ к членам класса
• Инкапсуляция
• Конструкторы, деструкторы
• Встроенные функции-члены
• Организация исходных файлов
• Указатель this
• Статические члены класса
В этой главе рассматриваются классы языка С++. При определении класса создается новый тип данных, который можно использовать подобно встроенному типу данных С++. Однако, в отличие от встроенных типов, классы содержат как данные, так и функции. Класс позволяет инкапсулировать все функции и данные, необходимые для управления частными компонентами программы (например, окном на экране; рисунком, построенным с помощью графической программы; устройством, подключенным к компьютеру; задачей, выполняемой операционной системой). Рассматриваются базовые средства создания и использования отдельных классов. В следующей главе показано, каким образом можно определить и использовать иерархию связанных классов.
Определение класса__
Класс языка С++ очень похож на стандартную структуру С, хотя средства, предоставляемые классами С++, превосходят возможности структур языка С. Для понимания классов С++ полезно сначала обсудить использование структур в С.
Структуры языка С позволяют сгруппировать набор связанных переменных-членов. Например, если создан прямоугольник, удобно сохранить его координаты в виде структуры, определенной следующим образом.
strucC Rectangle {
int Left; int Top; int Right; int Bottom;
};
Дапее можно определить функцию рисования прямоугольника.
void DrawRectangle (struct Rectangle *Rect)
{
Line (Rect->Left, Rect->Top, Rect->Right, Rect->Top); Line (Rect->Right, Rect->Top, Rect->Right, Rect->Bottom); Line (Rect->Right, Rect->Bottom, Rect->Left, Rect->Bottom); Line (Rect->Left, Rect->Bottom, Rect->Left, Rect->Top);
)
В этом примере Line - гипотетическая функция, которая позволяет рисовать линию от точки, заданной первыми двумя координатами, до точки, определенной вторыми двумя координатами. Такая функция может быть определена где-либо в программе или вызвана из библиотеки функций.
Наконец, чтобы задать прямоугольник в определенном месте, нужно определить и инициализировать переменную типа Rectangle, а затем передать ее в функцию DrawRectangle.
struct Rectangle Rect = (25, 25, 100, 100); DrawRectangle (SRect);
Класс языка С++, в отличие от структуры в С, определяет не только семейство компонентов данных, но и функции, работающие с этими данными. В С++ можно совместить координаты прямоугольника и функции рисования прямоугольника внутри единого определения класса, как показано в следующем примере.
class CRectangle {
int Left; int Top; int Right; int Bottom;
void Draw (void) {
Line (Left, Top, Right, Top); Line (Right, Top, Right, Bottom); Line (Right, Bottom, Left, Bottom); Line (Left, Bottom, Left, Top); )
};
Компоненты данных, определенные внутри класса, называются переменными-шенами класса (иногда их называют также полями данных). Функции, определенные внутри класса, называются функциями-членами или методами класса. В этом примере переменные-члены - Left, Top, Right и Bottom, а функция-член - Draw. Обратите внимание: функция-член может содержать ссылку на любую переменную класса, не используя при этом специальный синтаксис.
Предыдущая << 1 .. 30 31 32 33 34 35 < 36 > 37 38 39 40 41 42 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100