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

константный метод и указатель this - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
10.02.2013, 20:40     константный метод и указатель this #1
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
26
27
28
29
30
31
class CBox
{
    double Length;
    double Height;
    double Width;
 
public:
    
    CBox(double a, double b, double c=1): Length(a), Height(a), Width(c)
    {
        cout<<"Вызван конструктор\n";
    }
    
    inline double Volume()
    {
        return Length*Width*Height;
    }
 
    bool Compare(CBox *pBox) const
    {
        if (!pBox)
            return 0;
        return this->Volume() > pBox->Volume();                      //объект содержит квалификаторы типа, несовместимые с функцией-членом
    }
    CBox() 
    {
        Length=Width=Height=16;
        cout<<"Вызван стандартный конструктор\n";
    }
 
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2013, 20:40     константный метод и указатель this
Посмотрите здесь:

C++ В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель
C++ Константный указатель на целое
Константный указатель C++
Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать? C++
C++ Классы (константный метод и перезагрузка оператора равно)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
10.02.2013, 20:41     константный метод и указатель this #2
в чём суть вопроса?
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
10.02.2013, 20:43  [ТС]     константный метод и указатель this #3
ошибку дает компилятор если в методе добавить модификатор const, а без него норм
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
10.02.2013, 20:44     константный метод и указатель this #4
ну так сделайте Volume() тоже константным.

Не по теме:

ИМХО, const нужно или использовать везде где можно, или совсем не использовать.

Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
10.02.2013, 20:46  [ТС]     константный метод и указатель this #5
прозевал) переписывал с книги и упустил
Yandex
Объявления
10.02.2013, 20:46     константный метод и указатель this
Ответ Создать тему
Опции темы

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