class A{
public:
void f1() {}
void f2() const {}
};
int main()
{
A a;
const A& ac = a;
a.f1();
a.f2();
ac.f1(); //ошибка!
ac.f2();
}
Вывод: нельзя вызывать неконстантные функции константных объектов. Но деструктор можно.
Показаны сообщения с ярлыком константный метод. Показать все сообщения
Показаны сообщения с ярлыком константный метод. Показать все сообщения
понедельник, 18 октября 2010 г.
20. Может ли константный метод вызываться для объектов-переменных? А обычный метод — для объектов-констант?
Проще всего посмотреть самому:
воскресенье, 17 октября 2010 г.
19. Зачем нужны константные методы? Чем отличается определение константного метода от обычного?
a. Для отмечания факта, что метод не изменяет члены класса. Компилятор пресечет попытки такого случайного вмешательства. Следующий вопрос посвящен вызову константных методов.
b. void A::f() const {/*...*/}
b. void A::f() const {/*...*/}
Подписаться на:
Сообщения (Atom)