в
int salary() const { return mySalary; }
Насколько я понимаю, const для этого указателя, но я не уверен. Может кто-нибудь сказать мне, что здесь используется const?
Звучит так, как будто вы правильно поняли, что в C ++ const для метода объекта означает, что метод не может изменить объект.
Например, это не будет разрешено:
class Animal { int _state = 0; void changeState() const { _state = 1; } }
Когда функция помечена как const, ее можно вызывать с помощью константного указателя / ссылки этого класса. По сути, он говорит Эта функция не изменяет состояние класса .
const
Константа после функции класса означает, что эта функция не будет изменять объекты-члены этого класса. Единственное исключение, когда переменная-член помечена Mutable.
Это постоянная функция-член. Согласно договору функция не изменяет состояние экземпляра.
больше здесь: http://www.fredosaurus.com/notes-cpp/oop-memberfuncs/constmemberfuncs.html
Это просто гарантирует, что вызов salary () не изменит состояние объекта. То есть он может вызываться с помощью константного указателя или ссылки.
Это означает, что функция может быть вызвана для объекта const; и внутри этой функции-члена указатель this является постоянным.
this
Это const метод. Это означает, что он не будет изменять переменные-члены класса и не будет вызывать не const методы. Таким образом:
const foo bar; bar.m();
допустимо, если m - это метод const, но в противном случае не будет.
m