Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Либерти Джесс. Освой самостоятельно С++ за 21 день. - royallib.ru.rtf
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.55 Mб
Скачать

Коллоквиум

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

Контрольные вопросы

1. Что представляет собой оператор прямого доступа и для чего он используется?

2. Что резервирует память — объявление или определение?

3. Объявление класса является его интерфейсом или выполнением?

4. Какова разница между открытыми (public) и закрытыми (private) данными- членами?

5. Могут ли функции-члены быть закрытыми?

6. Могут ли переменные-члены быть открытыми?

7. Если объявить два объекта класса Cat, могут ли они иметь различные значения их переменных-членов itsAge?

8. Нужно ли объявления класса завершать точкой с запятой? А определения методов класса?

9. Как бы выглядел заголовок функции-члена Meow класса Cat, которая не принимает никаких параметров и возвращает значение типа void?

10. Какая функция вызывается для выполнения инициализации класса?

Упражнения

1. Напишите программу, которая объявляет класс с именем Employee (Служащие) с такими переменными-членами: age (возраст), yearsOfService (стаж работы) и Salary (зарплата).

2. Перепишите класс Employee, чтобы сделать данные-члены закрытыми и обеспечить открытые методы доступа для чтения и установки всех данных-членов.

3. Напишите программу с использованием класса Employee, которая создает два объекта класса Employee; устанавливает данные-члены age, YearsOfService и Salary, а затем выводит их значения.

4. На основе программы из упражнения 3 создайте метод класса Employee, который сообщает, сколько тысяч долларов зарабатывает служащий, округляя ответ до 1 000 долларов.

5. Измените класс Employee так, чтобы можно было инициализировать данные-члены age, YearsOfService и Salary в процессе "создания" служащего.

6. Жучки: что неправильно в следующем объявлении?

class Square

{

public:

   int Side;

}

7. Жучки: что весьма полезное отсутствует в следующем объявлении класса?

class Cat

{

   int GetAge() const;

private:

   int itsAge;

};

8. Жучки: какие три ошибки обнаружит компилятор в этом коде?

class TV

{

public:

   void SetStation(int Station);

   int GetStation() const;

private:

   int itsStation;

};

main()

{

   TV myTV;

   myTV.itsStation = 9;

   TV.SetStation(10);

   TV myOtherTv(2);

}

День 7-й. Циклы

Структура любой программы состоит из комбинации множества ветвлений и циклов. На четвертом занятии вы научились организовывать ветвление программы с помощью оператора if. Сегодня вы узнаете:

• Что такое циклы и как они используются

• Каковы методы организации циклов

• Как избежать чрезмерной вложенности конструкций if/else

Организация циклов

Для решения ряда задач часто требуется многократное выполнение одних и тех же действий. На практике это реализуется с помощью рекурсивных (см. занятие 5) или итеративных алгоритмов. Суть итеративного процесса заключается в повторении последовательности операций нужное количество раз.