4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
1

Как из константной функции вызвать неконстантную?

28.01.2014, 22:38. Показов 1417. Ответов 2
Метки нет (Все метки)

Здравствуйте. Появилась необходимость сделать такой вот трюк. Например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class B
{
    public:
        void f();
};
 
class A
{
    B b;
    
    public:
        void foo() const
        {
            b.f();
        }
};
Добавлено через 19 минут
up...
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2014, 22:38
Ответы с готовыми решениями:

Возврат константной ссылки из функции
Можно ли из функции возвращать константную ссылку? Есть след. классы: class A { /*чтото тяжёлое,...

Вызов константной функции для неконстантного объекта класса
Доброго дня! Имея класс с двумя перегруженными на основании константности функциями членами, каким...

Вызов не константной функции, изменяющей свойства класса, из константой . Возможно?
Сразу к делу: #include <QCoreApplication> class Base { public: Base(); virtual...

Как из обыной функции вызвать функции член класса?
Требуется установить таймер. При компиляции выдаётся ошибка. Как ее решить? void handlук(int...

2
Каратель
Эксперт С++
6606 / 4025 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
28.01.2014, 22:59 2
1.
C++
1
2
3
4
5
6
7
8
9
10
class A
{
    mutable B b;
    
    public:
        void foo() const
        {
            b.f();
        }
};
2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
class A
{
    B b;
    B& ref;
    
    public:
        A() : ref(b) {}
        void foo() const
        {
            ref.f();
        }
};
3. п.2 только через указатель
4. const_cast
1
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
28.01.2014, 23:17  [ТС] 3
Jupiter, спасибо, про mutable совсем забыл а второй способ первый раз вижу.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2014, 23:17
Помогаю со студенческими работами здесь

Как вызвать массив из функции? с++
Есть код, нормально работающий: #include <iostream> using namespace std; int main() { ...

Как вызвать функцию из функции?
Мб не туда мысли пошли, но хочу передать метод аргументом в метод, т.е. чтобы не писать проверку...

Как вызвать функции WinAPI?
подскажите как вызвать функции WinAPI. Допустим вот мой код куда че вписать. .486 .model flat,...

Как вызвать события из функции
Привет, как вызвать события из функции? private void SelectType_SelectionChanged(object sender,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru