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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.63
maks_b1
 Аватар для maks_b1
1 / 1 / 0
Регистрация: 26.11.2011
Сообщений: 29
#1

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

04.02.2012, 14:30. Просмотров 4806. Ответов 4
Метки нет (Все метки)

А можете объяснить, что такое константные поля и методы в классах?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2012, 14:30     Константные поля и методы
Посмотрите здесь:

Константные поля и операция присвоения - как быть? C++
Константные объекты C++
C++ Создать класс Massiv (матрица вещественных чисел), количество строк и столбцов константные поля.
Поля , методы и свойства. C++
Константные поля класса C++
C++ Статические поля и методы
Константные методы и объекты класса C++
C++ Поля, переменные; Методы, функции; В чем отличие?
C++ Дублирование кода и константные методы
Константные и не константные ссылки. Приведения типов. Нужно уточнение C++
Константные аргументы классов C++
Константные функции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Эксперт С++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
04.02.2012, 18:59     Константные поля и методы #3
Цитата Сообщение от soon Посмотреть сообщение
Константный метод ничего изменить в классе не может
Кроме полей, помеченных как mutable.

Не по теме:

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

Paporotnik
04.02.2012, 19:16
  #4

Не по теме:

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

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

Не по теме:

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



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

Не по теме:

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

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

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