Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Класс содержащий только перменные


Автор: kostey 26.8.2008, 18:10
Люди, помогите подалуйста.
Как создать класс содержащий только перменные, как эти перменные менять и как к ним обращаться из любой части программы?  smile 
Пожалуйста, по-подробнее.

Автор: W4FhLF 26.8.2008, 18:17
Для этого необходимо создать простую структуру. Например:

Код

struct Point
{
    int x;
    int y;
};

int main()
{
    Point p;

    p.x = 1;
    p.y = -1;

    return 0;
}

Автор: mrbrooks 26.8.2008, 18:29
так же могу добавить что можно использовать статические переменные или методы некого класса для доступа к переменным (как в данном примере) в отдельном модуле:

Код

class tmp
{
private:
  static int a;
  static double b;
public:
  static void SetA(int a_t){a=a_t};         //запись a
  static void SetB(double b_t){b=b_t};  //запись b
  static int GetA(return a;);                     //чтение a
  static double GetB(return b;);              //чтение b
};

int tmp::a;
double tmp::b;



либо использовать синглетон

Автор: W4FhLF 26.8.2008, 18:32
Как связан singleton с классом содержащим одни переменные?

Автор: mrbrooks 27.8.2008, 07:49
W4FhLF,  не связан. Но почему бы не использовать этот паттерн имхо. Или это не правильный подход? 

Автор: W4FhLF 27.8.2008, 08:03
mrbrooks, просто я не вижу как из этой задачи вытекает надобность использования синглтона. Во-первых автор сам не знает чего он хочет, во-вторых если встаёт вопрос о: "как эти перменные менять и как к ним обращаться из любой части программы?", то автору нужны глобальные переменные(в данном случае, насколько понял я, структура), а это в большинстве случаев уже не самое лучшее решение задачи. Об гарантиях уникальности данного объекта речи небыло, поэтому синглтон тут не причём, по-крайней мере в текущей постановке. 

Автор: mrbrooks 27.8.2008, 08:52
W4FhLF, гы. ну да кстати что то я выходит переусердствовал  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)