Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
6 / 6 / 0
Регистрация: 18.08.2010
Сообщений: 97

Константные методы и объекты класса

30.07.2013, 17:30. Показов 5720. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Это необходимость, или явная подстраховка того, что бы объект (константный) работал с себе подобными методами класса ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2013, 17:30
Ответы с готовыми решениями:

Константные статические объекты класса.
Здравствуйте. Есть класс "матрица" нужно задать константные матрицы такие как E - единичная матрица и т.д., как это сделать? #include...

Объекты производного класса не наследуют методы базового
Доброго всем дня! Вот такая у меня проблема возникла - объекты производного класса свободно вычитаются, но почему-то не складываются,...

Константные объекты
#include <iostream> #include <windows.h> using namespace std; class CTest { public: int A,B; CTest(int Aval,int...

6
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
30.07.2013, 17:34
gefest58, у константного объекта могут быть вызваны только константные методы, так что в данном случае это необходимость.
А вообще лучше спросить на конкретном примере что не ясно.
1
6 / 6 / 0
Регистрация: 18.08.2010
Сообщений: 97
30.07.2013, 17:45  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
class blala{
private:
int rs;
public:
blala(int n) : rs(n)
{}
void read()
{
cin >> rs;
}
void str()const
{
cout << rs;
}
};
main(){
const blala ret(4);
ret.str();
}
И объект, и метод должны типа const. Но для чего это применяется ? Для случая, когда программист забудет, с какими методами объекту работать, а с какими нет или как ?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
30.07.2013, 17:48
gefest58, константность - гарантия того, что объект не изменится. Как следствие - уменьшение количества логических ошибок. Согласитесь, было бы странным, если бы вывод объекта в поток изменял сам объект.
1
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
30.07.2013, 17:52
Цитата Сообщение от gefest58 Посмотреть сообщение
И объект, и метод должны типа const.
Объект не должен. У неконстантного объекта можно вызывать константные методы. Наоборот - нельзя. И нужно это для того, чтобы ненароком не изменить чего не надо:
1) если объект константный, у него нельзя вызывать методы, которые меняют его, что логично:
2) если метод константный, он не должен менять состояние объекта. Если же по недосмотру меняет, ошибка отлавливается уже на этапе компиляции.
0
6 / 6 / 0
Регистрация: 18.08.2010
Сообщений: 97
30.07.2013, 20:42  [ТС]
вот опять никак не пойму, в книжке, методу, который выводит две строчки на экран, дают приписку const. Зачем ????
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
30.07.2013, 20:45
Цитата Сообщение от gefest58 Посмотреть сообщение
вот опять никак не пойму, в книжке, методу, который выводит две строчки на экран, дают приписку const. Зачем ????
этом метод не меняет состяние объекта, зачем ему быть НЕ константным?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.07.2013, 20:45
Помогаю со студенческими работами здесь

Указатели на константные объекты
Нельзя создать неконстантный указатель на константный объект по понятным причинам, но имеем такой код: typedef char* pStr; int...

Константные поля и методы
А можете объяснить, что такое константные поля и методы в классах?

Как правильно объявлять статические константные объекты в классе?
В классе надо объявить статичные константные строки. Типа class A { public: static const std::string OLOLO = &quot;ololo&quot;; ...

Константные и неконстантные методы в классе
Здравствуйте! Вот задача https://stepik.org/lesson/563/step/6?unit=886 Я наверное не очень понимаю смысл задачи потому что моя...

Дублирование кода и константные методы
Есть метод method возвращающий ссылку на внутреннее значение объекта. Существует в двух вариантах - константный и обычный. Константная...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru