Sdílet prostřednictvím


Konstantní členské funkce

Deklarace členské funkce pomocí klíčového slova const určuje, že funkce je funkce "jen pro čtení", která neprovádí úpravy objektu, pro který je volána.Konstantní členská funkce nemůže měnit jakékoli nestatické datové členy ani volat jakékoli členské funkce, které nejsou konstantní.

Pro deklarování konstantní členské funkce je třeba umístit klíčové slovo const za uzavírací závorku seznamu argumentů.Klíčové slovo const je požadováno v deklaraci a v definici.

Příklad

// constant_member_function.cpp
class Date
{
public:
   Date( int mn, int dy, int yr );
   int getMonth() const;     // A read-only function
   void setMonth( int mn );   // A write function; can't be const
private:
   int month;
};

int Date::getMonth() const
{
   return month;        // Doesn't modify anything
}
void Date::setMonth( int mn )
{
   month = mn;          // Modifies data member
}
int main()
{
   Date MyDate( 7, 4, 1998 );
   const Date BirthDate( 1, 18, 1953 );
   MyDate.setMonth( 4 );    // Okay
   BirthDate.getMonth();    // Okay
   BirthDate.setMonth( 4 ); // C2662 Error
}

Viz také

Referenční dokumentace

const (C++)

Konstantní hodnoty