Чтение онлайн

на главную

Жанры

Освой самостоятельно С++ за 21 день.

Либерти Джесс

Шрифт:

#include <iostream.h>

typedef unsigned short USHORT;

typedef unsigned long ULONG;

ULONG GetPower(USHORT n, USHORT power);

int main

{

USHORT number, power;

ULONG answer;

cout << "Enter a number: ";

cin >> number;

cout << "To what power? ";

cin >> power;

answer = GetPower(number,power);

cout << number << " to the " << power << "th power is " << answer << endl;

return 0;

}

ULONG GetPower(USHORT n, USHORT power)

{

if(power == 1)

return n;

else

return (n * GetPower(n,power-1));

}

День 6

Контрольные

вопросы 

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

Оператор точки прямого доступа представляет собой символ точки (.). Он используется для обращения к членам класса.

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

Память резервируется определениями переменных. Объявления классов не резервируют память.

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

Объявление класса является его интерфейсом, который сообщает клиентам класса, как с ним взаимодействовать. Выполнение класса — это набор функций-членов, сохраняемых обычно в файле с расширением CPP.

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

К открытым переменным-членам могут обращаться клиенты класса, а к закрытым могут получить доступ только функции-члены класса.

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

Да. Как функции-члены, так и переменные-члены могут быть закрытыми.

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

Хотя переменные-члены могут быть открытыми, но считается хорошей практикой программирования, когда переменные-члены объявляются все же закрытыми, а доступ к этим данным обеспечивается за счет открытых методов доступа.

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

Да. Каждый объект класса имеет свои собственные переменные-члены.

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

Объявления класса заканчиваются точкой с запятой после закрывающей фигурной скобки, а определения функций-членов — нет.

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

Заголовок функции-члена Meow класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:

void Cat::Meow

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

Упражнения 

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

class Employee

{

int Age;

int YearsOfService;

int Salary;

};

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

class Employee

{

public:

int GetAge const;

void SetAge(int age);

int GetYearsOfService const;

void SetYearsOfService(int years);

int GetSalary const;

void SetSalary(int salary);

private:

int Age;

int YearsOfService;

int Salary;

};

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

int main

{

Employee John;

Employee Sally;

John.SetAge(30);

John.SetYearsOfService(5);

John.SetSalary(50000);

Sally.SetAge(32);

Sally.SetYearsOfService(8);

Sally.SetSalary(40000);

cout << "At AcmeSexist company, John and Sally have the same job.\n";

cout << "John is " << John.GetAge << " years old and he has been with";

cout << "the firm for " << John.GetYearsOfService << " years.\n";

cout << "John earns $" << John.GetSalary << " dollars per year.\n\n";

cout << "Sally, on the other hand is " << Sally.GetAge << " years old and has";

cout << "been with the company " << Sally.GetYearsOfService;

cout << " years. Yet Sally only makes $" << Sally.GetSalary;

cout << " dollars per year! Something here is unfair.";

return 0;

}

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

float Employee:GetRoundedThousands const

{

Поделиться:
Популярные книги

Ваантан

Кораблев Родион
10. Другая сторона
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Ваантан

Моя (не) на одну ночь. Бесконтрактная любовь

Тоцка Тала
4. Шикарные Аверины
Любовные романы:
современные любовные романы
7.70
рейтинг книги
Моя (не) на одну ночь. Бесконтрактная любовь

Изгой. Пенталогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
9.01
рейтинг книги
Изгой. Пенталогия

Приручитель женщин-монстров. Том 4

Дорничев Дмитрий
4. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 4

На границе империй. Том 5

INDIGO
5. Фортуна дама переменчивая
Фантастика:
боевая фантастика
попаданцы
7.50
рейтинг книги
На границе империй. Том 5

Проклятый Лекарь IV

Скабер Артемий
4. Каратель
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Проклятый Лекарь IV

Измена. Мой заклятый дракон

Марлин Юлия
Любовные романы:
любовно-фантастические романы
7.50
рейтинг книги
Измена. Мой заклятый дракон

Варлорд

Астахов Евгений Евгеньевич
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Варлорд

Отмороженный 5.0

Гарцевич Евгений Александрович
5. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный 5.0

Вернуть невесту. Ловушка для попаданки

Ардова Алиса
1. Вернуть невесту
Любовные романы:
любовно-фантастические романы
8.49
рейтинг книги
Вернуть невесту. Ловушка для попаданки

Пятое правило дворянина

Герда Александр
5. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Пятое правило дворянина

Идеальный мир для Лекаря 20

Сапфир Олег
20. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 20

Опер. Девочка на спор

Бигси Анна
5. Опасная работа
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Опер. Девочка на спор

Лорд Системы

Токсик Саша
1. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
4.00
рейтинг книги
Лорд Системы