6 / 6 / 0
Регистрация: 18.08.2010
Сообщений: 97
|
|
1 | |
Константные методы и объекты класса30.07.2013, 17:30. Показов 5390. Ответов 6
Метки нет (Все метки)
Это необходимость, или явная подстраховка того, что бы объект (константный) работал с себе подобными методами класса ?
0
|
30.07.2013, 17:30 | |
Ответы с готовыми решениями:
6
Константные статические объекты класса. Объекты производного класса не наследуют методы базового Константные объекты Указатели на константные объекты |
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
30.07.2013, 17:34 | 2 |
gefest58, у константного объекта могут быть вызваны только константные методы, так что в данном случае это необходимость.
А вообще лучше спросить на конкретном примере что не ясно.
1
|
6 / 6 / 0
Регистрация: 18.08.2010
Сообщений: 97
|
||||||
30.07.2013, 17:45 [ТС] | 3 | |||||
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
30.07.2013, 17:48 | 4 |
gefest58, константность - гарантия того, что объект не изменится. Как следствие - уменьшение количества логических ошибок. Согласитесь, было бы странным, если бы вывод объекта в поток изменял сам объект.
1
|
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|
30.07.2013, 17:52 | 5 |
Объект не должен. У неконстантного объекта можно вызывать константные методы. Наоборот - нельзя. И нужно это для того, чтобы ненароком не изменить чего не надо:
1) если объект константный, у него нельзя вызывать методы, которые меняют его, что логично: 2) если метод константный, он не должен менять состояние объекта. Если же по недосмотру меняет, ошибка отлавливается уже на этапе компиляции.
0
|
6 / 6 / 0
Регистрация: 18.08.2010
Сообщений: 97
|
|
30.07.2013, 20:42 [ТС] | 6 |
вот опять никак не пойму, в книжке, методу, который выводит две строчки на экран, дают приписку const. Зачем ????
0
|
Каратель
|
|
30.07.2013, 20:45 | 7 |
0
|
30.07.2013, 20:45 | |
30.07.2013, 20:45 | |
Помогаю со студенческими работами здесь
7
Константные поля и методы Как правильно объявлять статические константные объекты в классе? Константные и неконстантные методы в классе Дублирование кода и константные методы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |