Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Составить программу, которая по заданным координатам точки (x,y) определяет на какой линии или внутри какой области находится эта точка Построить чертеж. Обозначить получившиеся области плоскости. Составить программу, которая по заданным координатам точки (x,y) определяет на какой линии или внутри какой области находится эта точка. https://www.cyberforum.ru/ cpp-beginners/ thread662534.html C++ Конь, расположенный на поле (k, l), делает 2 хода. Угрожает ли он полю (m, n)?
Всем доброго времени суток! Буду честен - в универе задали задачу на макс.балл(все предыдущие сделал, но с этой возникла проблемка). Условие следующее: Поле шахматной доски определяется парой натуральных чисел (номер вертикали – номер горизонтали) из диапазона 1-8. Конь, расположенный на поле (k, l), делает 2 хода. Угрожает ли он полю (m, n)? Собственно просьба: помогите составить сам...
C++ При работе с символами адрес вместо адреса иероглифы, а с символьными массивами вобще ошибки. https://www.cyberforum.ru/ cpp-beginners/ thread662525.html
/* 1) int a; int *b=&a; cout<<b<<endl; 2) char a; char *b=&a; cout<<b; */ Надо просто выдать адреса переменных. При работе с числами всё нормас. При работе с символами адрес вместо адреса иероглифы, а с символьными массивами вобще ошибки.
C++ Составить программу для вычисления значения выражения (без использования макрокоманды MAX и MIN) https://www.cyberforum.ru/ cpp-beginners/ thread662523.html
C++ задачка с натуральными числами
программа, которая в записи натурального числа минимальным вычеркиванием цифр оставляет подряд идущие цифры, которые 1) образ отрезок натурального ряда; 2) образ строго возрастающую последовательность
C++ Заполнить двумерный массив https://www.cyberforum.ru/ cpp-beginners/ thread662479.html
заполнить двухмерный массив размерности по правилу: 6 1 1 1 1 5 2 6 1 1 5 4 2 2 6 5 4 4 2 2 5 6 4 4 2 5 3 3 6 4 5 3 3 3 3 6
C++ Получение последней строки из файла Вообщем прощу помощи, мне нужно получить последнюю строку из текстового файла и запихнуть ее в string. Желательно не перебирая весь файл, он большой... пробовал file.getline file.seekg getline спасибо https://www.cyberforum.ru/ cpp-beginners/ thread662474.html C++ Вывод простых чисел от m до n
Здравствуйте! Возникла проблемка с задачкой. Требуется вывести все простые числа от m до n, при условии, что 2<=m<=n<=1000000. Если нет простых, то вывести "Absent". Время 6 с. 1 проблема заключается в выводе "Absent". Почему-то, она его либо не выводит(если m=n),либо(если n не простое) она пишет все простые числа от m до n и вместо n пишет "Absent". 2 проблема заключается во времени...
C++ Написать программу, которая вычисляет значение выражения, и определить ее значение для введенных пользователем значений фактических параметров. Написать программу, которая вычисляет значение выражения, и определить ее значение для введенных пользователем значений фактических параметров. При этом найти область определения функций и обеспечить необходимую реакцию программы на некорректные ситуации. y=sqrt(ln( (1-a)/x )) https://www.cyberforum.ru/ cpp-beginners/ thread662460.html C++ Определение автоморфности числа https://www.cyberforum.ru/ cpp-beginners/ thread662459.html
Число вводится с клавиатуры. Программу представить в виде функции.
Алгоритм сортировки,ошибка! C++
У меня алгоритм сортировки вставками но вот только не сортирует почему то #include <stdio.h> #include <stdlib.h> #include <iostream> #include <time.h> #include <conio.h> //#define N 1000 using namespace std; void InsertSort(int mass, int n){
C++ подскажите пожалуйста как запихнуть в класс конструктор https://www.cyberforum.ru/ cpp-beginners/ thread662451.html
по лабораторной задание: создать программу которая решает заданный интеграл методом трапеций...тра-ля-ля...создавать с учетом возможностей ООП...тра-ля-ля....программа должна содержать конструктор! программа создана, работает корректно (как я заметил). но конструктор не получается туда запилить. Помогите пожалуйста. Да, было бы не плохо, если бы вы не за меня сделали, а просто сказали бы как...
0 / 0 / 1
Регистрация: 22.03.2012
Сообщений: 5
03.10.2012, 11:50  [ТС] 0

Оператор [] массива указателей на процедуры и методы - C++ - Ответ 3515142

03.10.2012, 11:50. Показов 772. Ответов 2
Метки (Все метки)

Ответ

Цитата Сообщение от I.M. Посмотреть сообщение
как вариант
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
32
33
34
35
36
37
38
39
#include <iostream>
#include <functional>
#include <vector>
 
class test_class
{
public:
    typedef std::function<int (int)> functor_t;
 
    functor_t& operator [] (int index)
    {
        if(index < 0 || index > m_array.size())throw std::exception("out of range");
 
        if(index == m_array.size())
            m_array.push_back(0);
 
        return m_array[index];
    }
 
private:
    typedef std::function<int (int)> functor_t;
 
    std::vector<functor_t> m_array;
};
 
int some_function(int value)
{
    std::cout << "hello " << value << std::endl;
    return 0;
}
 
int main()
{
    test_class object;
    object[0] = std::bind(some_function, std::placeholders::_1);
    object[0](42);
 
    system("pause");
}
Добавлено через 20 минут

Небольшая ремарка по своему же коду. Лучше вынести добавление нового элемента в отдельный метод. Ибо так, как есть сейчас, очень небезопасно и нелогично.
Отлично, сейчас опробую. Спасибо.

По поводу ремарки, сам столкнулся с данной проблемой когда свой метод допиливал. Уже так и сделал.

Добавлено через 5 минут
Ругается компилятор на ваш метод:
Ошибка 1 error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов c:\program files (x86)\microsoft visual studio 11.0\vc\include\xrefwrap 431 1 Empty
VC12

Добавлено через 6 минут
Все исправил ошибку, и думаю, что лучше использовать массив, а не вектор.

Добавлено через 10 минут
После различных вариаций моего класса, решил, что проще всего будет сделать так: круглые скобки буду отвечать за инициализацию, а квадратные за вызов.

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
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <functional>
#include <vector>
 
#define MAXFUNCTION 255
 
class test_class
{
private:
    typedef std::function <int (int)> function_t;
    function_t m_array [MAXFUNCTION];
 
public:
    function_t& operator [] (int Index)
    {
        return m_array[Index];
    }
 
    function_t& operator () (int Index)
    {
        return m_array[Index];
    }
};
 
int some_function(int value)
{
    std::cout << "hello " << value << std::endl;
    return 0;
}
 
int main()
{
    test_class object;
 
    object(13) = some_function;
    object(10) = some_function;
 
    object[13](3);
    object[10](5);
 
    system("pause");
}


Вернуться к обсуждению:
Оператор [] массива указателей на процедуры и методы C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2012, 11:50
Готовые ответы и решения:

Создание массива указателей на методы класса TForm2
Здравствуйте! Разрабатываю приложение, состоящие из трех форм. Первая форма представляет собой...

Почему обращение к методам осуществляется через оператор прямого доступа, а не через оператор указателей->?
#include &lt;iostream&gt; using namespace std; class random { public: void Set(int b){a=b;} int...

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

Передача указателей в методы по ссылке
Здравствуйте, хотел спросить, такой варианте адекватен? Или есть более адекватное решение... Просто...

2
03.10.2012, 11:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2012, 11:50
Помогаю со студенческими работами здесь

Массив из указателей на методы класса
Немогу сделать массив, пишет ошибку ошибка: cannot convert 'char' to 'pfn_MyFuncType {aka char...

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

Проверка выделения памяти указателей через оператор new
И так есть некая структура, экземпляр которой определён как: var ***v; Изначально заполняю...

Оформить программу с помощью процедуры ввода массива и процедуры вывода массива на экран.
Program Primer1; uses crt; var a: array of integer; i: integer; Begin clrscr; for i:=1 to...

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