members via initialization lists in sgconfig code
 }
 //-----------------------------------------------------------------------------
 CONFIGPROTO::CONFIGPROTO()
 }
 //-----------------------------------------------------------------------------
 CONFIGPROTO::CONFIGPROTO()
+    : answerList(),
+      requestList(),
+      adminIP(0),
+      adminLogin(),
+      thrReciveSendConf(),
+      nonstop(true),
       WriteServLog(GetStgLogger()),
       WriteServLog(GetStgLogger()),
+      listenSocket(-1),
+      parserGetServInfo(),
+      parserGetUsers(),
+      parserGetUser(),
+      parserChgUser(),
+      parserAddUser(),
+      parserDelUser(),
+      parserCheckUser(),
+      parserSendMessage(),
+      parserGetAdmins(),
+      parserAddAdmin(),
+      parserDelAdmin(),
+      parserChgAdmin(),
+      parserGetTariffs(),
+      parserAddTariff(),
+      parserDelTariff(),
+      parserChgTariff(),
+      currParser(NULL),
+      dataParser(),
+      xmlParser(),
+      errorStr()
 {
 dataParser.push_back(&parserGetServInfo);
 
 {
 dataParser.push_back(&parserGetServInfo);
 
 
+    CONFIGPROTO(const CONFIGPROTO & rvalue);
+    CONFIGPROTO & operator=(const CONFIGPROTO & rvalue);
+
     int             RecvHdr(int sock);
     int             RecvLogin(int sock);
     int             SendLoginAnswer(int sock);
     int             RecvHdr(int sock);
     int             RecvLogin(int sock);
     int             SendLoginAnswer(int sock);
 
 //-----------------------------------------------------------------------------
 //  GET USER
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 //  GET USER
 //-----------------------------------------------------------------------------
-PARSER_GET_USER::PARSER_GET_USER()
-{
-
-}
-//-----------------------------------------------------------------------------
 int PARSER_GET_USER::ParseStart(void *, const char *el, const char **attr)
 {
 if (strcasecmp(el, "GetUser") == 0)
 int PARSER_GET_USER::ParseStart(void *, const char *el, const char **attr)
 {
 if (strcasecmp(el, "GetUser") == 0)
 
 //-----------------------------------------------------------------------------
 //  GET USERS
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 //  GET USERS
 //-----------------------------------------------------------------------------
-PARSER_GET_USERS::PARSER_GET_USERS()
-    : lastUserUpdateTime(0),
-      lastUpdateFound(false)
-{
-}
-//-----------------------------------------------------------------------------
 int PARSER_GET_USERS::ParseStart(void *, const char *el, const char ** attr)
 {
 /*if (attr && *attr && *(attr+1))
 int PARSER_GET_USERS::ParseStart(void *, const char *el, const char ** attr)
 {
 /*if (attr && *attr && *(attr+1))
 
 //-----------------------------------------------------------------------------
 //  ADD USER
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 //  ADD USER
 //-----------------------------------------------------------------------------
-PARSER_ADD_USER::PARSER_ADD_USER()
-{
-depth = 0;
-}
-//-----------------------------------------------------------------------------
 int PARSER_ADD_USER::ParseStart(void *, const char *el, const char **attr)
 {
 depth++;
 int PARSER_ADD_USER::ParseStart(void *, const char *el, const char **attr)
 {
 depth++;
 
 //  PARSER CHG USER
 //-----------------------------------------------------------------------------
 PARSER_CHG_USER::PARSER_CHG_USER()
 //  PARSER CHG USER
 //-----------------------------------------------------------------------------
 PARSER_CHG_USER::PARSER_CHG_USER()
+    : BASE_PARSER(),
+      usr(NULL),
       ucr(NULL),
       upr(NULL),
       downr(NULL),
       ucr(NULL),
       upr(NULL),
       downr(NULL),
       cashMustBeAdded(false),
       res(0)
 {
       cashMustBeAdded(false),
       res(0)
 {
 
 class BASE_PARSER {
 public:
     BASE_PARSER()
 class BASE_PARSER {
 public:
     BASE_PARSER()
+        : strError(),
+          admins(NULL),
           users(NULL),
           tariffs(NULL),
           store(NULL),
           users(NULL),
           tariffs(NULL),
           store(NULL),
 
           currAdmin(NULL),
           depth(0),
           answerList(NULL)
           currAdmin(NULL),
           depth(0),
           answerList(NULL)
     virtual ~BASE_PARSER() {}
     virtual int ParseStart(void *data, const char *el, const char **attr) = 0;
     virtual int ParseEnd(void *data, const char *el) = 0;
     virtual ~BASE_PARSER() {}
     virtual int ParseStart(void *data, const char *el, const char **attr) = 0;
     virtual int ParseEnd(void *data, const char *el) = 0;
 
     virtual void SetCurrAdmin(ADMIN & cua) { currAdmin = &cua; }
     virtual std::string & GetStrError() { return strError; }
     virtual void Reset() { answerList->clear(); depth = 0; }
     virtual void SetCurrAdmin(ADMIN & cua) { currAdmin = &cua; }
     virtual std::string & GetStrError() { return strError; }
     virtual void Reset() { answerList->clear(); depth = 0; }
+    BASE_PARSER(const BASE_PARSER & rvalue);
+    BASE_PARSER & operator=(const BASE_PARSER & rvalue);
+
     std::string      strError;
     ADMINS *         admins;
     USERS *          users;
     std::string      strError;
     ADMINS *         admins;
     USERS *          users;
 
 //-----------------------------------------------------------------------------
 class PARSER_ADD_ADMIN: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------
 class PARSER_ADD_ADMIN: public BASE_PARSER {
 public:
-        PARSER_ADD_ADMIN() : BASE_PARSER() {}
+        PARSER_ADD_ADMIN() : BASE_PARSER(), adminToAdd() {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 
 //-----------------------------------------------------------------------------
 class PARSER_DEL_ADMIN: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------
 class PARSER_DEL_ADMIN: public BASE_PARSER {
 public:
-        PARSER_DEL_ADMIN() : BASE_PARSER() {}
+        PARSER_DEL_ADMIN() : BASE_PARSER(), adminToDel() {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 
 //-----------------------------------------------------------------------------
 class PARSER_CHG_ADMIN: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------
 class PARSER_CHG_ADMIN: public BASE_PARSER {
 public:
-        PARSER_CHG_ADMIN() : BASE_PARSER() {}
+        PARSER_CHG_ADMIN() : BASE_PARSER(), login(), password(), privAsString() {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 
 //-----------------------------------------------------------------------------
 class PARSER_GET_USER: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------
 class PARSER_GET_USER: public BASE_PARSER {
 public:
-        PARSER_GET_USER();
-        ~PARSER_GET_USER(){};
+        PARSER_GET_USER() : BASE_PARSER(), login() {}
+        ~PARSER_GET_USER() {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 
 //-----------------------------------------------------------------------------
 class PARSER_GET_USERS: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------
 class PARSER_GET_USERS: public BASE_PARSER {
 public:
+        PARSER_GET_USERS() : BASE_PARSER(), lastUserUpdateTime(0), lastUpdateFound(false) {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 
 //-----------------------------------------------------------------------------
 class PARSER_ADD_TARIFF: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------
 class PARSER_ADD_TARIFF: public BASE_PARSER {
 public:
-        PARSER_ADD_TARIFF() : BASE_PARSER() {}
+        PARSER_ADD_TARIFF() : BASE_PARSER(), tariffToAdd() {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 
 //-----------------------------------------------------------------------------
 class PARSER_DEL_TARIFF: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------
 class PARSER_DEL_TARIFF: public BASE_PARSER {
 public:
-        PARSER_DEL_TARIFF() : BASE_PARSER() {}
+        PARSER_DEL_TARIFF() : BASE_PARSER(), tariffToDel() {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 
 //-----------------------------------------------------------------------------
 class PARSER_CHG_TARIFF: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------
 class PARSER_CHG_TARIFF: public BASE_PARSER {
 public:
-        PARSER_CHG_TARIFF() : BASE_PARSER() {}
+        PARSER_CHG_TARIFF() : BASE_PARSER(), td() {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 
 //-----------------------------------------------------------------------------/
 class PARSER_ADD_USER: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------/
 class PARSER_ADD_USER: public BASE_PARSER {
 public:
+        PARSER_ADD_USER() : BASE_PARSER(), login() {}
         ~PARSER_ADD_USER() {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
         ~PARSER_ADD_USER() {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
 
     void CreateAnswer();
     void Reset();
 private:
     void CreateAnswer();
     void Reset();
 private:
+    PARSER_CHG_USER(const PARSER_CHG_USER & rvalue);
+    PARSER_CHG_USER & operator=(const PARSER_CHG_USER & rvalue);
+
     std::string EncChar2String(const char *);
     int AplayChanges();
 
     std::string EncChar2String(const char *);
     int AplayChanges();
 
 
     void CreateAnswer();
 
 private:
     void CreateAnswer();
 
 private:
+    PARSER_DEL_USER(const PARSER_DEL_USER & rvalue);
+    PARSER_DEL_USER & operator=(const PARSER_DEL_USER & rvalue);
+
 
 //-----------------------------------------------------------------------------
 class PARSER_SEND_MESSAGE: public BASE_PARSER {
 public:
 //-----------------------------------------------------------------------------
 class PARSER_SEND_MESSAGE: public BASE_PARSER {
 public:
-        PARSER_SEND_MESSAGE() : BASE_PARSER(), result(0), u(NULL) {}
+        PARSER_SEND_MESSAGE() : BASE_PARSER(), logins(), result(0), msg(), u(NULL) {}
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 private:
     int ParseStart(void *data, const char *el, const char **attr);
     int ParseEnd(void *data, const char *el);
     void CreateAnswer();
 private:
+    PARSER_SEND_MESSAGE(const PARSER_SEND_MESSAGE & rvalue);
+    PARSER_SEND_MESSAGE & operator=(const PARSER_SEND_MESSAGE & rvalue);
+
     int ParseLogins(const char * logins);
 
     enum {res_ok, res_params_error, res_unknown};
     int ParseLogins(const char * logins);
 
     enum {res_ok, res_params_error, res_unknown};
 
 }
 //-----------------------------------------------------------------------------
 STG_CONFIG::STG_CONFIG()
 }
 //-----------------------------------------------------------------------------
 STG_CONFIG::STG_CONFIG()
+    : errorStr(),
+      stgConfigSettings(),
+      thread(),
+      nonstop(false),
       users(NULL),
       admins(NULL),
       tariffs(NULL),
       store(NULL),
       users(NULL),
       admins(NULL),
       tariffs(NULL),
       store(NULL),
 
 
 class STG_CONFIG_SETTINGS {
 public:
 
 class STG_CONFIG_SETTINGS {
 public:
-                    STG_CONFIG_SETTINGS() : port(0) {}
+                    STG_CONFIG_SETTINGS() : errorStr(), port(0) {}
     virtual         ~STG_CONFIG_SETTINGS() {}
     const std::string & GetStrError() const { return errorStr; }
     int             ParseSettings(const MODULE_SETTINGS & s);
     virtual         ~STG_CONFIG_SETTINGS() {}
     const std::string & GetStrError() const { return errorStr; }
     int             ParseSettings(const MODULE_SETTINGS & s);
 
     uint16_t            GetStopPosition() const { return 220; }
 
 private:
     uint16_t            GetStopPosition() const { return 220; }
 
 private:
+    STG_CONFIG(const STG_CONFIG & rvalue);
+    STG_CONFIG & operator=(const STG_CONFIG & rvalue);
+
     static void *       Run(void *);
     static void *       Run(void *);
     mutable std::string errorStr;
     STG_CONFIG_SETTINGS stgConfigSettings;
     pthread_t           thread;
     mutable std::string errorStr;
     STG_CONFIG_SETTINGS stgConfigSettings;
     pthread_t           thread;