Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 183
Записей в блоге: 1
#1

Вроде-бы все просто, но путаюсь с константыми методами - C++

01.02.2013, 13:31. Просмотров 249. Ответов 2
Метки нет (Все метки)

В чем разница где поставить модификатор const
const void Metod();
void Method()const;
В каком случаем использовать один из их?
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2013, 13:31     Вроде-бы все просто, но путаюсь с константыми методами
Посмотрите здесь:

C++ Вроде все верно, но почему же не вычисляется?
Структуры: Вывести все танки с 1940-1950 г. чей калибр , больше 50 мм. или же просто больше 50 C++
C++ Прога на Си, все правильно вроде, но выскакивает
видимо путаюсь в типах данных C++
C++ вроде все просто
Дана строка удалить все пробелы или просто присвоить в другую строку без пробелов C++
Вроде бы граф C++
Как исправить вот эти ошибки? Вроде все правильно сделал... C++
C++ Выдает ошибку но вроде все правильно посмотрите!
C++ Вроде переполнение, а вроде бы и нет
C++ Найти точно все корни уравнения указанными методами
C++ Не могу инициализировать.Вроде все нормально

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
758 / 691 / 124
Регистрация: 27.07.2012
Сообщений: 1,980
Завершенные тесты: 3
01.02.2013, 13:41     Вроде-бы все просто, но путаюсь с константыми методами #2
Цитата Сообщение от Borkot Посмотреть сообщение
const void Metod();
Возвращает константный void (что, по сути, бред)

Цитата Сообщение от Borkot Посмотреть сообщение
void Method()const;
Константная функция-член класса (Если конечно эта функция объявлена в объявлении класса, а не абы где. Иначе - тоже ересь).
Dr.Urban
63 / 58 / 7
Регистрация: 14.12.2011
Сообщений: 193
01.02.2013, 14:25     Вроде-бы все просто, но путаюсь с константыми методами #3
void Method()const; означает что неявный указатель this даного метода есть тоже const, значит нельзя изменить поля класа. Но есть 2 способа обойти это:

1. Сделать поле mutable
2. const_cast<classname*>(this)-> ....
Yandex
Объявления
01.02.2013, 14:25     Вроде-бы все просто, но путаюсь с константыми методами
Ответ Создать тему
Опции темы

Текущее время: 14:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru