Как экспортировать объекты класса C ++ MFC - PullRequest
0 голосов
/ 06 марта 2012

Я работаю над приложением MFC SDI, в которое я включил один универсальный класс C ++, но у меня возникла проблема, и я застрял на ней.

У меня есть общий класс C ++ в Tree.h и его реализация Tree.cpp, а также еще два класса, скажем a_Class.h и b_Class.h.

Проблема:

Я создаю экземпляр Tree.h в a_Class.cpp, например:

Tree *obj = new Tree()

Я объявил это глобально. Теперь я хочу использовать этот же самый объект в b_Class.

Для этого я использую extern комбинацию клавиш в b_Class.cpp следующим образом:

extern Tree *obj;

Это нормально работает, но не использует тот же объект. На заднем плане он объявляет отдельные объекты.

Как я могу это исправить?

1 Ответ

0 голосов
/ 06 марта 2012

Из вашего описания это звучит так, как будто оно должно работать. Вы можете переписать его по-другому, в a_Class.cpp добавьте глобальную функцию:

static Tree* obj = new Tree();
Tree* GetTreeObj() {
   return obj;
}

в b_Class.h добавить:

extern Tree* GetTreeObj();

, затем используйте GetTreeObj (), чтобы получить указатель дерева

...