Skip to content

Latest commit

 

History

History
53 lines (37 loc) · 1.25 KB

08-const-methods.md

File metadata and controls

53 lines (37 loc) · 1.25 KB

Programowanie obiektowe

Metody const

Coders School

Przykład

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; }
};

const'owe metody

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ę.