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

на главную - закладки

Жанры

Освой самостоятельно С++ за 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

{

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

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Диверсант. Дилогия

Корчевский Юрий Григорьевич
Фантастика:
альтернативная история
8.17
рейтинг книги
Диверсант. Дилогия

Четвертый год

Каменистый Артем
3. Пограничная река
Фантастика:
фэнтези
9.22
рейтинг книги
Четвертый год

Неудержимый. Книга XXII

Боярский Андрей
22. Неудержимый
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Неудержимый. Книга XXII

Под маской, или Страшилка в академии магии

Цвик Катерина Александровна
Фантастика:
юмористическая фантастика
7.78
рейтинг книги
Под маской, или Страшилка в академии магии

Газлайтер. Том 12

Володин Григорий Григорьевич
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 12

Темный Лекарь 7

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

Сделай это со мной снова

Рам Янка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сделай это со мной снова

Отморозок 2

Поповский Андрей Владимирович
2. Отморозок
Фантастика:
попаданцы
5.00
рейтинг книги
Отморозок 2

Наследник павшего дома. Том I

Вайс Александр
1. Расколотый мир
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник павшего дома. Том I

Архил...? Книга 2

Кожевников Павел
2. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...? Книга 2

Орден Багровой бури. Книга 1

Ермоленков Алексей
1. Орден Багровой бури
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Орден Багровой бури. Книга 1

Возвышение Меркурия. Книга 4

Кронос Александр
4. Меркурий
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Возвышение Меркурия. Книга 4

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

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