#cpp
Что означает const в данном случае? class Person { int age; public: void display() const { cout << "тут что-то выводим " << age << endl; } }
Ответы
Ответ 1
Это означает, что функция не изменяет сам объект (за исключением членов данных объекта класса, объявленных со спецификатором 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 { //... }; ^^^Ответ 2
Попробуйте почитать книгу Роберта Лафоре. Там это очень прекрасно описано :) В двух словах примерно так: Объект, который вы создадите, не сможет поменять данные через этот метод. class Person { public: int age; void display() const { cout<<"тут что-то выводим"<
Комментариев нет:
Отправить комментарий