Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Организация общения между классами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++ занесение структур находящихся в разных потоках, в общую очередь http://www.cyberforum.ru/cpp-beginners/thread826571.html
Весь код приводить не стал, надеюсь идея будет понятна. Я циклом создал потоки а теперь, нужно структуры (Clien), которые в этих потоках создались засунуть в очередь. Как это сделать??? а то у меня...
C++ Классы, матрицы, перегрузка операторов, дружественные функции Гляньте пожалуйста, как получилось сделать задание, что неверно: Создать класс, в котором перегрузить операторы: & для перемножения двух матриц; + для сложения двух матриц.... http://www.cyberforum.ru/cpp-beginners/thread826559.html
Считать строку в массив символов, который является членом класса C++
гетлайны, гетси, манипуляторы ws не работают (не могу заставить) #include <iostream> using namespace std; class employee { private: char name; long employee_id;
C++ Напечатать все слова отличные от последнего и удовлетворяющие следующему свойству:
Задан текст, между словами пробел, за последним словом точка. Напечатать все слова отличные от последнего и удовлетворяющие следующему свойству: буквы слова упорядочены по алфавиту. Использовать...
C++ Список списков http://www.cyberforum.ru/cpp-beginners/thread826517.html
Как реализовать конструкцию списка списков? std::list <HWND> List; В этот список у меня попадают кнопки, по ним строится ломаная. Чтобы реализовать несколько ломаных мне нужен список в котором...
C++ Даны два массива А и В, получить массив C даны два массива А и В размером m*n, получить массив C=min(aij,bij) подробнее

Показать сообщение отдельно
flybox
0 / 0 / 0
Регистрация: 02.04.2013
Сообщений: 5
03.04.2013, 10:17  [ТС]
Цитата Сообщение от lemegeton Посмотреть сообщение
Это очень размытая задача. Нужно конкретнее знать что за данные, когда получать... Может тут подойдет паттерн visitor или subscruber.

Добавлено через 5 минут
А с логгингом-то какая беда? Вот примитивный логгинг. Конечно, надо бы влепить фабрику или менеджер логгеров, но для простых решений сойдет просто указание потока в конкретном классе.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iterator>
#include <iostream>
#include <istream>
#include <string>
#include <functional>
 
class Logger {
 public:
  Logger(std::ostream &outputStream, const std::string &facility)
    : outputStream(outputStream), facility(facility) {}
  void log(const std::string &message) {
    outputStream << facility << ": " << message << std::endl;
  }
  void error(const std::string &message) {
    log("ERROR: " + message);
  }
  void warning(const std::string &message) {
    log("WARNING: " + message);
  }
  void info(const std::string &message) {
    log("INFO: " + message);
  }
 private:
  std::ostream &outputStream;
  std::string facility;
};
 
 
class Core {
 public:
  Core() {
    log.info("created.");
  }
  virtual ~Core() {
    log.info("destroyed.");
  }
 private:
  static Logger log;
};
Logger Core::log(std::cout, "Core");
 
class Data {
 public:
  Data() {
    log.info("created.");
  }
  virtual ~Data() {
    log.info("destroyed.");
  }
 private:
  static Logger log;
};
Logger Data::log(std::cout, "Data");
 
int main(int argc, char *argv[]) {
  Core core;
  Data data;
  
  std::cin.get();
  return 0;
}
Спасибо за помощь с логингом, что то не додумался. Почитаю про патерны.
Раньше только своей головой доходил до архитектуры. Данные: к примеру Контейнер каких то объектов.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru