Сразу скажу, что пишу не на обычном C++, а под микроконтроллер AVR, но я думаю, что в этом плане никаких отличий нет.
Есть файл main.cpp
, в нём функция void FOO(char bar, char baz)
, которую нужно вызвать из класса BAT
. Функция FOO
не находится ни в каком классе, а функция, из которой её нужно вызвать - в классе BAT
. Как это сделать?
А где класс BAT
находится? В любом случае в месте вызова функция должна быть видима, т.е. надо либо сделать соответствующий заголовочный файл, либо добавить предварительное объявление функции. Типа:
void FOO(char, char);
После этого вызвать как любую другую свободную функцию. Например:
FOO('1', 'a');
Если вдруг в классе есть уже функция-член FOO
, то чтобы вызвать глобальную нужно указать область видимости:
::FOO('1', 'a');
Во первых, методов в с++ нет. Во вторых, "методы", которые не принадлежат классу, называются просто функциями.
Самый простой способ решить задачу - это в файле с классом BAT сделать forward declaration - то есть, просто добавить строку с именем функции и типами (как обычно пишут в h файлах).
Более правильный способ состоит в том, что бы создать отдельные cpp/h файлы и перенести функции туда. А сам h файл добавить в оба нуждающихся файла (main и BAT).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как можно средствами Qt4 автоматически "убивать" запущенные дочерние процессы при падении основной программы? PS
Есть 2 класса, один наследуется от другого, причем базовый класс содержит хотя бы 1 виртуальный метод
Есть строка: Я уже 15 года занимаюсь программированием, написал 10
Сейчас мне нужно напечатать свою страницу (в pdf или на бумагу)Для этого я использую это: window