class Person {
const std::string name_;
unsigned age_;
public:
Person(const std::string & name, unsigned age)
: name_(name), age_(age)
{}
std::string getName() const { return name_; }
// void setName(const std::string & name) { name_ = name; }
// not allowed, name_ is const
unsigned getAge() const { return age_; }
void setAge(unsigned age) { age_ = age; }
};
std::string getName() const { return name_; }
Metody const
można wywołać na obiektach klasy, które są stałe.
Metody, które nie są const
wywołane na stałych obiektach powodują błąd kompilacji.
Zazwyczaj nie tworzymy stałych obiektów, ale przekazujemy je przez const&
, aby nie pozwolić na ich modyfikację.