status type
От: cppuser  
Дата: 14.08.13 22:48
Оценка:
Всем привет.

Есть такой класс:
class message
{
public:
   typedef struct{ typedef enum{ failed, succeed } value_t; } status;
   typedef status::value_t status_t;

   void      set_status( const status_t status ) { status_ = status; }
   status_t  get_status()                        { return status_; }

private:
   status_t status_; 
};

status'овая фитча добавлена чтобы можно было использовать так:
int main()
{
    message msg;
    // some operations
    msg.set_status( msg::status::succeed );
}

Вопрос: Можно сделать это:
    typedef struct{ typedef enum{ failed, succeed } value_t; } status;
    typedef status::value_t status_t;

проще?

Спасибо!
добавил разметку
Re: status type
От: MT-Wizard Украина  
Дата: 14.08.13 23:21
Оценка:
Здравствуйте, cppuser, Вы писали:

C>Всем привет.


C>Вопрос: Можно сделать это:

C> typedef struct{ typedef enum{ failed, succeed } value_t; } status;
C> typedef status::value_t status_t;
C>проще?

enum class из С++11 ?
http://www.cprogramming.com/c++11/c++11-nullptr-strongly-typed-enum-class.html
А ти, москалику, вже приїхав (с)
Re[2]: status type
От: cppuser  
Дата: 15.08.13 00:00
Оценка:
Здравствуйте, MT-Wizard, Вы писали:

MW>Здравствуйте, cppuser, Вы писали:


C>>Всем привет.


C>>Вопрос: Можно сделать это:

C>> typedef struct{ typedef enum{ failed, succeed } value_t; } status;
C>> typedef status::value_t status_t;
C>>проще?

MW>enum class из С++11 ?

MW>http://www.cprogramming.com/c++11/c++11-nullptr-strongly-typed-enum-class.html

Да, конечно. Но, compiler пока не поддерживает с++11
Re: status type
От: ArtDenis Россия  
Дата: 15.08.13 03:16
Оценка:
Здравствуйте, cppuser, Вы писали:

C>Вопрос: Можно сделать это:

C> typedef struct{ typedef enum{ failed, succeed } value_t; } status;
C>проще?

Можно без typedef сделать. Будет на 2 слова меньше
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re: status type
От: flаt  
Дата: 15.08.13 05:42
Оценка:
Здравствуйте, cppuser, Вы писали:

C>Вопрос: Можно сделать это:

C> typedef struct{ typedef enum{ failed, succeed } value_t; } status;
C> typedef status::value_t status_t;
C>проще?
right_enum?
Re[2]: status type
От: cppuser  
Дата: 16.08.13 18:27
Оценка:
Здравствуйте, flаt, Вы писали:

F>Здравствуйте, cppuser, Вы писали:


C>>Вопрос: Можно сделать это:

C>> typedef struct{ typedef enum{ failed, succeed } value_t; } status;
C>> typedef status::value_t status_t;
C>>проще?
F>right_enum?

То что надо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.