singlepost

С++ Builder глобальыне переменные << На главную или назад  

Вопрос есть 2 формы в обеих подключен MyHeader.h в этой хедере обьявлен класс, так вот как мне создать объект что бы он был виден в обоих формах?Так как если я создам в одном то в другом его естественно не видно, как быть? как создать глобальный объект?

61 ответов в теме “С++ Builder глобальыне переменные”

  1. 4
    Anton Romantsov ответил:

    объявляй extern'ом ;)

  2. 3
    Семен Струйкин ответил:

    спс попрбоую

  3. 2
    Юрий Лисичкин ответил:

    кстати еще надо где-то выделенную под объект память удалить =)

    наверное можно заменить на
    static public C& getMyGlobalObject()
    {
    static C c();
    return c;
    }

  4. 1
    Юрий Лисичкин ответил:

    вариантов много в зависимости от того что тебе нужно – какова сущность объекта, как он взаимодействует с остальной программой и т.п.

    например можно так

    MyHeader.h

    class C
    {
    static public C* getMyGlobalObject()
    {
    static C* c = 0;
    if(c != 0)
    {
    c = new C();
    }
    return c;
    }
    };

    а использовать в программе так

    #include "MyHeader.h"

    C* globalObject = C::getMyGlobalObject();

    ЗЫ. давно на плюсах не писал, мб код неправильный.

    ЗЫЫ. читай GoF шаблоны проектирования, Мейерса – Эффективный С++ и т.п. Гугл в помощь

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.