Udostępnij za pośrednictwem


Stałe funkcje członkowskie

Deklarowanie funkcji członkowskiej ze słowem kluczowym const określa, że funkcja jest funkcją "tylko do odczytu", która nie powoduje modyfikowania obiektu, dla którego jest wywoływana.Stała funkcja członkowska nie może modyfikować żadnych niestatycznych elementów danych członkowskich lub wywoływać funkcji członkowskich, które nie są stałe.

Aby zadeklarować stałą funkcję członkowską, umieścić słowo kluczowe const po nawiasie zamykającym listę argumentów.Słowo kluczowe const jest wymagane zarówno w deklaracji i definicji.

Przykład

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

Zobacz też

Informacje

const (C++)

Wartości stałe