Создать и выполнить список указателей динамической функции из разных экземпляров класса (Arduino C ++ 11)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Создать и выполнить список указателей динамической функции из разных экземпляров класса (Arduino C ++ 11)

Сообщение Anonymous »

Я использую arduino c ++ 11 < /p>
Я хочу создать и выполнить список указателей динамически функции из разных экземпляров -членов класса. Функция, содержащая динамический список указателей функций, вызовывается в основной программе. Я попробовал несколько решений, но я застрял. Если нет, пожалуйста, дайте мне знать. < /P>
class base {
// base class for holding global static functions. Shall not be instatited.
// if necessary, change class to namespace or struct.
private:
friend class class_inp;
friend class class_out;
static void base_add_funtion_pointer_from_instatiated_class_member
(/* function pointer upddate_event_control() */) {
// what do do?
}
public:
static void execute_dynamic_list_of_instatiated_function_pointers() {
// how to do it?
}
};
< /code>
два класса с идентичными функциями, чтобы вызовать < /p>
class class_inp : public base {
public:
class_inp (bool eventSwitch) {
base_add_funtion_pointer_from_instatiated_class_member
(/* function pointer from upddate_event_control() */);
}
void upddate_event_control();
};
< /code>
class class_out : public base {
public:
class_out (/* arguments*/) {
base_add_funtion_pointer_from_instatiated_class_member
(/* function pointer from upddate_event_control() */);
}
void upddate_event_control();
};
< /code>
Main program
class_inp inp;
class_out out;

// Arduino main
void loop() {
base::execute_dynamic_list_of_instatiated_function_pointers();
delay(1); // waith 1 millisecond
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... antiated-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»