Практика на основы ООП в C++
Задачи собирают классы с полями, методами и конструктором, скрывают данные в приватной секции и отдают их наружу через геттеры и сеттеры.
Сделайте класс Book с полями title
и pages. Создайте две книги:
"Cpp", 400 и "Java", 350.
Выведите общее число страниц.
Сделайте класс Counter с методом
next, который возвращает следующее
целое, начиная с 1. Выведите три
подряд значения.
Дан класс:
class Wallet {
private:
int balance;
public:
Wallet(int start) : balance(start) {}
void deposit(int amount) {
balance += amount;
}
bool withdraw(int amount) {
if (amount > balance) return false;
balance -= amount;
return true;
}
int readBalance() const {
return balance;
}
};
Пополните на 100, снимите 30,
попытайтесь снять 200. Выведите остаток
и результат второй попытки снятия.
Сделайте класс Room, передавая
width и length в конструктор.
Сделайте метод area, который
возвращает площадь. Создайте комнату
4 на 5 и выведите площадь.
Сделайте класс Tag с приватным полем
label; пусть геттер возвращает его
в верхнем регистре. Создайте объект
со значением "sale" и выведите метку.
Сделайте класс Thermo с приватным
полем celsius. В сеттере принимайте
только значения от -50 до 60.
Присвойте 25, затем 100.
Выведите итоговую температуру.
Сделайте класс PairName с полями
first и last. Сделайте метод
full, который вернет имя, пробел
и фамилию. Выведите полное имя для
"Ann" и "Lee".
Сделайте класс Timer с полем
seconds и конструктором, который
выводит "ready". Создайте объект
с 0 секунд.
Дан класс:
class Box {
public:
std::string item;
Box(std::string value) : item(value) {}
Box& relabel(std::string newItem) {
item = newItem;
return *this;
}
};
Создайте коробку "old", смените содержимое
на "new" одной цепочкой вызовов.
Выведите содержимое.