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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.88
Uragaan
Заблокирован
#1

Захват функции ? - C++

23.07.2011, 14:35. Просмотров 4170. Ответов 79
Метки нет (Все метки)

Полиморфизм

Полиморфизмом в программировании называется переопределение наследником функций-членов базового класса, например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Figure
{
    ...
    void Draw() const;
    ...
};
 
class Square : public Figure
{
    ...
    void Draw() const;
    ...
};
 
class Circle : public Figure
{
    ...
    void Draw() const;
    ...
};
А как делают захват той или другой функции ?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2011, 14:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Захват функции ? (C++):

предусмотреть динамический захват памяти, решение оформить в виде отдельной функции. В вещественной матрице размером NxN найти максимальный - C++
В задаче предусмотреть динамический захват памяти, решение оформить в виде отдельной функции. В вещественной матрице размером NxN найти...

Захват файлов - C++
Доброго здравия вам. Я новенький в си, но с большим удовольствием поглощаю основы. Использую VS. К сожалению я не могу позволить себе...

Захват видео с экрана - C++
Привет! С помощью чего можно захватить видео с экрана, желательно кроссово и на Qt, если нет, тогда чисто под винду ...

Захват ненужных данных - C++
Здравствуйте! Помогите разобраться, почему считывается одно, а записывается другое. Итак, имеется структура, которую использую для...

Захват и управление видеопотоком - C++
Здравствуйте. У меня определенная проблема, но нет знаний чтобы понять ее суть. Но есть стремление. Объясните пожалуйста, каким образом...

Не работает захват видео - C++
выдаёт вот такие ошибки: Первый этап обработки исключения в "0x7c80be74 (kernel32.dll)" в "cam.exe": 0xC0000005: Нарушение прав доступа...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.07.2011, 13:07 #31
Дайте ссылку на подробное описание, кто такие лямды, функторы и с чем их едят.
ValeryLaptev
Эксперт С++
1040 / 819 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
24.07.2011, 13:13 #32
Цитата Сообщение от taras atavin Посмотреть сообщение
А кто такие функторы?
Класс, в котором перегружена операция вызова функции operator() - так точнее будет.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
24.07.2011, 13:15 #33
taras atavin, Вот, там не только про лямбда, но и про другие фичи 0x.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.07.2011, 13:15 #34
ValeryLaptev, что то я такого оператора не знаю. Что он делает?
ValeryLaptev
Эксперт С++
1040 / 819 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
24.07.2011, 13:17 #35
taras atavin, функторы очень хорошо описаны в книжке Шаблоны в С++. Лучше мне не попадалось.
А лямды - это в функциональных языках. Например, в Lisp, Haskell. Ну, или в новом стандарте.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
24.07.2011, 13:18 #36
taras atavin, может тогда перестать писать в разделе ++? толку то все равно нет
ValeryLaptev
Эксперт С++
1040 / 819 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
24.07.2011, 13:19 #37
Цитата Сообщение от taras atavin Посмотреть сообщение
ValeryLaptev, что то я такого оператора не знаю. Что он делает?
Это не оператор, а операция вызова функции. И ее можно перегружать как метод класса.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.07.2011, 13:22 #38
Здесь ничего общего с заголовком
Лямбда-функции (Lambdas)
отсюда не видно. И как это относится к заголовку
4. Правые угловые скобки
?
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
24.07.2011, 13:23 #39
taras atavin, Покрути страницу вниз. Крутить начинать от сюда.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.07.2011, 13:26 #40
В Си для создания функторов используются указатели на функцию:

/* callback-функция */
int compare_function(int A, int B) {
return A < B;
}

/* объявление функции сортировки */
void mysort(int* begin_items,
int num_items,
int (*cmpfunc)(int, int));

int main(void) {
int items[] = {4, 3, 1, 2};
mysort(items,
sizeof(items)/sizeof(int),
compare_function);
return 0;
}
. То есть функтором какой то уникум додумался назвать то, что в пасквилятны зовут перемнной процедурного типа?
ValeryLaptev
Эксперт С++
1040 / 819 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
24.07.2011, 13:34 #41
Цитата Сообщение от taras atavin Посмотреть сообщение
. То есть функтором какой то уникум додумался назвать то, что в пасквилятны зовут перемнной процедурного типа?
Уникум - это Николай Джосаттис. Член комитета по стандартизации С++. В книжке Шаблоны С++ он делает оговорочку, что вообще-то указатель на функцию тоже является функтором, но в рамках С++ лично они с вандевурдом в книжке будут понимать исключительно класс с перегруженной операцией вызова функции.
Читай те же классиков!
Kastaneda
Форумчанин
Эксперт С++
4518 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,267
Записей в блоге: 2
Завершенные тесты: 1
24.07.2011, 13:55 #42
taras atavin, в #24 посте я давал ссылку на хабру, там очень подробно все разжеванно (про лямбды).
Uragaan
Заблокирован
24.07.2011, 13:59  [ТС] #43
Дестру́ктор — специальный метод класса, служащий для деинициализации объекта (например освобождения памяти).

Так просто для сровнения вот Delphi :
Delphi
1
2
3
TClassWithDestructor = class
    destructor Destroy; override;
  end;
а вот C++ :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
    using namespace std;
 
    class NameOfClass
    {
        private:
             int a;
        public:
             NameOfClass(int m);
             ~NameOfClass();
    };
 
    NameOfClass::~NameOfClass()
    {
        cout << this->a << endl;
    }
 
    NameOfClass::NameOfClass(int m)
    {
        a = m;
    }
Почему так не справедливо столько писанины ?

но с функциями не пойму ! функция main(), которая получает управление при запуске программы
и напремер её переделать так чтобы делала дрогое вазможно ?
нокак сделать захват не знаю или это не на этом языке ???
CyBOSSeR
24.07.2011, 14:14
  #44
 Комментарий модератора 
taras atavin, Вы либо начинаете дружить с гуглом и учитесь искать в нем ответы на свои вопросы, либо в следующий раз Ваши вопросы не в тему будут караться карточками как оффтоп.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
24.07.2011, 15:26 #45
Цитата Сообщение от Uragaan Посмотреть сообщение
Почему так не справедливо столько писанины ?
Деструктор это только это:
Цитата Сообщение от Uragaan Посмотреть сообщение
NameOfClass::~NameOfClass() { cout << this->a << endl; }
И где писанина?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2011, 15:26
Привет! Вот еще темы с ответами:

Бесконечный захват памяти - C++
#include &lt;iostream&gt; using namespace std; typedef struct {double A;} F; void recurs (F X ; long i ) { i++ cout &lt;&lt; i&lt;&lt; &quot;...

Захват аудио и видео потоков - C++
Стоит задачка захватить аудио дорожку и видео-поток с окна и все это смикшировать в фильм. Грубо говоря фрапс со звуком. Видео и аудио уже...

Захват видео с камеры. OpenCV - C++
Добрый вечер, форумчане. Возникла проблема с захватом видео. Применяю библиотеку openCV 2.1. С одной камеры (USB) захват видео проходит...

Захват текста под курсором мыши - C++
Здравствуйте. Возникла такая проблема: надо в текстовом редакторе (например TMemo) получить слово на которое указывает курсор мыши, затем...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.07.2011, 15:26
Закрытая тема Создать тему
Опции темы

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