Задачи на ООП в C++. Часть 6
Дан следующий код:
class User {
protected:
std::string name;
bool notEmpty(const std::string& str) {
return str.size() > 0;
}
public:
void setName(const std::string& name) {
if (this->notEmpty(name)) {
this->name = name;
}
}
std::string getName() {
return this->name;
}
};
class Employee : public User {
std::string surn;
public:
void setSurn(const std::string& surn) {
if (this->notEmpty(surn)) {
this->surn = surn;
}
}
std::string getSurn() {
return this->surn;
}
};
сделайте вспомогательный метод защищенным:.
Сделайте абстрактный класс Figure,
представляющий собой геометрическую
фигуру. Пусть от него наследует классы
для круга, прямоугольника и квадрата.
Добавьте в ваш класс User такой же
абстрактный метод increaseRevenue.
Напишите реализацию этого метода в классах
Employee и Student.
В классе Figure сделайте абстрактные
методы для получения площади и периметра фигуры.
Сделайте класс Num, у которого будут
два публичных статических поля: num1
и num2. Запишите в первое поле
число 2, а во второе - число 3.
Выведите сумму значений свойств на экран.
Сделайте класс Num, у которого будут
два приватны статических поля: num1
и num2. Пусть по умолчанию в свойстве
num1 хранится число 2, а в
свойстве num2 - число 3.
Сделайте в классе Num метод getSum,
который будет выводить на экран сумму значений
свойств num1 и num2.
Дан следующий код:
class Math {
public:
int getSum(int a, int b) {
return a + b;
}
int getProduct(int a, int b) {
return a * b;
}
};
Переделайте методы следующего класса на статические.
Дан следующий код:
class ArraySumHelper {
public:
int getSum1(const std::vector<int>& arr) {
return getSum(arr, 1);
}
int getSum2(const std::vector<int>& arr) {
return getSum(arr, 2);
}
int getSum3(const std::vector<int>& arr) {
return getSum(arr, 3);
}
int getSum4(const std::vector<int>& arr) {
return getSum(arr, 4);
}
private:
static int getSum(const std::vector<int>& arr, int power) {
int sum = 0;
for (int elem : arr) {
sum += static_cast<int>(std::pow(elem, power));
}
return sum;
}
};
Переделайте методы следующего класса на статические.
Сделайте наш счетчик приватным. Пусть его значение можно будет получать с помощью специального метода.