C++ как использовать методы класса до его объявления?
Всем привет! Возможно ли использовать в С++ метод какого-то класса до его объявления? Например как-то так (пример естественно не компилируется):
A.h:
struct B;
B* ptrB;
struct A
{
void doA();
}
B.h:
struct B
{
void doB();
}
A.cpp:
#include "A.h"
void A::doA()
{
ptrB->doB();
}
main.cpp:
#include "A.h"
#include "B.h"
int main()
{
//......dosomething
}
Или как-то извернуться, чтобы получилось так без перемещения В выше А? Ну или хотя бы передать как-то классу В, вызвав метод из А?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Еще раз и медленно...
a.h
struct B;
extern B* ptrB;
struct A
{
void doA();
};
b.h
struct B
{
void doB() {}
};
a.cpp
#include "A.h"
#include "B.h"
void A::doA()
{
ptrB->doB();
}
main.cpp
#include "A.h"
#include "B.h"
B* ptrB;
int main()
{
}