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

Константные поля и методы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.63
maks_b1
 Аватар для maks_b1
1 / 1 / 0
Регистрация: 26.11.2011
Сообщений: 29
04.02.2012, 14:30     Константные поля и методы #1
А можете объяснить, что такое константные поля и методы в классах?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
04.02.2012, 14:57     Константные поля и методы #2
Константное поле изменить нельзя.
Константный метод ничего изменить в классе не может. Также не может вызывать не константные функции.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
class A
{
    const int a;
    int b;
public:
    A(int _a): a(_a)
    {
        //a = 4;
    }
    
    int getA() const
    {
        //b = 4;
        return a;
    }
};
 
int main()
{
    A a(3);
    std::cout << a.getA() << std::endl;
    return 0;
}

Не по теме:

Скажите мне название книги по ООП в С++ в которой этого нет, и я вам скажу, какую книгу нужно выкинуть.

silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
04.02.2012, 18:59     Константные поля и методы #3
Цитата Сообщение от soon Посмотреть сообщение
Константный метод ничего изменить в классе не может
Кроме полей, помеченных как mutable.

Не по теме:

Цитата Сообщение от soon Посмотреть сообщение
Скажите мне название книги по ООП в С++ в которой этого нет, и я вам скажу, какую книгу нужно выкинуть.

Paporotnik
04.02.2012, 19:16
  #4

Не по теме:

Кроме полей, помеченных как mutable.
вот так всегда, только человек обрадуется простому объяснению, как вдруг оказывается, что есть исключения) а сейчас еще скажут про возможность использовать const_cast<>.

silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
04.02.2012, 19:21     Константные поля и методы #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ

Не по теме:

Цитата Сообщение от Paporotnik Посмотреть сообщение
const_cast<>
А вот этого не надо, за это и в морду можно получить



Добавлено через 1 минуту

Не по теме:

Ну или ногу прострелить.

Yandex
Объявления
04.02.2012, 19:21     Константные поля и методы
Ответ Создать тему
Опции темы

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