Что означает const в данном случае?
class Person
{
int age;
public:
void display() const
{
cout << "тут что-то выводим " << age << endl;
}
}
Ответ
Это означает, что функция не изменяет сам объект (за исключением членов данных объекта класса, объявленных со спецификатором mutable, которые можно менять даже в функциях, объявленных с квалификатором const), для которого она вызвана.
Поэтому эту функцию вы можете вызывать, например, для константных объектов:
const Person person = { 18 };
person.display();
Или
void f( const Person &person )
{
person.display();
}
//...
Person person = { 18 };
f( person );
То есть вгутри этой функции указатель на объект this имеет тип const Person *
Имейте в виду, что определение класса должно завершаться точкой с запятой:
class Person
{
//...
};
^^^
Комментариев нет:
Отправить комментарий