Константный метод в C++
Метод, который только читает поля, можно пометить словом
const после списка параметров. Такой константный
метод обещает не менять поля объекта.
Поле назовем age_, чтобы имя не совпало с методом
age. Рядом запишем обычный метод grow,
который увеличивает число:
#include <iostream>
class User {
public:
User(int age) : age_(age) {
}
int age() const {
return age_;
}
void grow() {
age_ = age_ + 1;
}
private:
int age_;
};
Создадим объект, выведем возраст и увеличим его методом:
int main() {
User user(20);
std::cout << user.age() << "\n";
user.grow();
std::cout << user.age() << "\n";
return 0;
}
Сделайте класс Product с константным методом, возвращающим цену, и обычным методом, который меняет цену.