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

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

Войти
Регистрация
Восстановить пароль
 
virtus
19 / 19 / 7
Регистрация: 23.09.2013
Сообщений: 327
#1

Массив указателей на члены класса - C++

05.11.2013, 10:23. Просмотров 501. Ответов 2
Метки нет (Все метки)

Здравствуйте,


подскажите, пожалуйста, как корректно использовать массив указателей на члены класса.

list.h

Объявление класса list:

C++
1
2
3
4
5
6
7
8
9
10
class List
{
    size_t m_size;//количество эффективных элементов в списке
public:
    void Sort(SortingType);//сортировка по возрастанию площади объекта/по цвету/по удалению от начала координат
        bool LessYardage(int, int);//сравнение по возрастанию площади
    bool LessColor(int, int);//сравение по возврастанию цвета
    bool LessRemote(int, int);//сравнение по удалению от начала координат
    void Swap(int, int);//перестановка
};
list.cpp

Определение методов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
void List::Sort(SortingType Type)
{//сортировка по возврастанию площади объекта; цвета; удаления от начала координат.
    bool (List::*LessAr[])(int, int) = {LessYardage, LessColor, LessRemote}; - [B]определение и инициализация массива указателей на методы класса List[/B]
    for (int i = 0; i < m_size; i++)
    {//i - номер текущего шага
        for (int j = i + 1; j < m_size; j++)//цикл выбора наименьшего элемента
            if (LessAr[Type](i, j)) - здесь ошибка
 [B]expression preceding parentheses of apparent call must have (pointer-to-) function type[/B]
            {
            }
    }
}
Задаю массив на методы класса, потому что метод Sort() должен сортировать список в зависимости от параметра.
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2013, 10:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив указателей на члены класса (C++):

Массив указателей на функции-члены класса - C++
Задача заключается в том, что в private надо создать статическую переменную символьного типа, в protected просто переменные вещественного...

Использование указателей на функции-члены внутри самого класса - C++
День добрый форум! Возник такой вопрос. В классе А есть 3 функции и массив, в котором хранятся адреса этих функций. class A ...

Массив указателей на функции члены - C++
К примеру вот такой код. #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; class test { public: struct s {

Объявить массив указателей на функции-члены - C++
Надо объявить массив theArray из 10 указателей на функции-члены класса Car, получающие параметр типа int и возвращающие значения типа long....

класс «Строка» (данные-члены класса – строчка, функции-члены класса – операции) - C++
Помогите пожалйуста с реализацией программы... Реализовать класс «Строка» (данные-члены класса – строчка (указатель на массив, ...

Создать массив указателей базового класса и присвоить ему адреса каждого из екземпляров класса - C++
Всем привет. Есть условие задачи: Дан базовый класс Base у которого есть метод my_name, метод выводит сообщение This is Base class. От...

2
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
05.11.2013, 10:29 #2
virtus, объект, для которого вызывается метод забыл; видимо, так:
C++
1
if ((this->*LessAr[Type])(i, j))
1
virtus
19 / 19 / 7
Регистрация: 23.09.2013
Сообщений: 327
05.11.2013, 10:34  [ТС] #3
Да, все верно. Спасибо, большое.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2013, 10:34
Привет! Вот еще темы с ответами:

как сделать чтобы объект производного класса сам себя добавлял в список или массив указателей базового класса? - C++
я хотел так, но программа просто падает void Student::add(Base** head) { cout &lt;&lt; &quot;I here&quot; &lt;&lt; endl; this-&gt;setName(); //все...

Массив указателей на методы класса - C++
Подскажите плз в чём ошибка: class Entrant{ int ID; int mark; int school; int addpt; ...

Массив указателей на методы класса - C++
Есть несколько объектов разных классов. Каждый из этих классов имеет метод update. Параметры и возвращаемое значение одинаковы. Как...

Динамический массив указателей на объекты класса - C++
Добрый вечер! Нужна помощь У меня имеется класс STROKA(вроде уже готовый,и все хорошо) Только вот никак не могу понять, как создать...


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

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

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