Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
02.05.2014
Размер:
543.23 Кб
Скачать

Билет 16

1. Оператор Выражение

Большинство операторов является операторами выражение, которые имеют вид

выражение ; Обычно операторы выражение являются присваиваниями и вы­зовами функций.

Оператор do имеет вид do оператор while (выражение);

Оператор break ;

Оператор continue ;

2. Области видимости объектов

Тело класса определяет область видимости. Объявления членов класса внутри тела вводят их имена в область видимости класса. Для обращения к ним применяются операторы доступа (точка и стрелка) и оператор разрешения области видимости (::). Когда употребляется оператор доступа, то предшествующее ему имя обозначает объект или указатель на объект типа класса, а следующее за ним имя должно находиться в области видимости этого класса. Аналогично при использовании оператора разрешения области видимости поиск имени, следующего за ним, идет в области видимости класса, имя которого стоит перед оператором. (В главах 17 и 18 мы увидим, что производный класс может обращаться к членам своих базовых.)

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

class String {

public:

typedef int index_type;

// тип параметра - это на самом деле String::index_type

char& operator[]( index_type )

};

Порядок объявления членов класса в его теле важен: нельзя ссылаться на члены, которые будут объявлены позже. Например, eqkh объявление оператора operator[]() находится раньше объявления typedef index_type, то приведенное ниже объявление operator[]() оказывается ошибочным, поскольку в нем используется еще неизвестное имя index_type:

class String {

public:

// ошибка: имя index_type не объявлено

char &operator[]( index_type );

typedef int index_type;

};

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

Билет 17

1.1 Оператор Return

Возврат из функции в вызывающеую программу осуществляет­ся с помощью оператора return, имеющего один из двух видов:

return ;

return выражение ;

Первый может использоваться только в функциях, не возвращающих значения, т.е. в функциях с типом возвращаемого значения void. Вторая форма может использоваться только в функциях, возвращающих значение; значение выражения возвраща­ется тому, кто вызывал функцию. Если необходимо, то выражение преобразуется, как это делается при инициализации, к типу функции, в которой оно появилось. Обход конца функции эквива­лентен возврату return без возвращаемого значения.

Соседние файлы в папке Програмки на C++