Можно ли вложить в класс существующий enum

У меня есть enum в некотором заголовочном файле. Можно ли вложить в класс существующий enum?

Объяснение:

некоторые headerfile.h:

enum someEnum
{
someValue
/*other values*/
};

другой заголовок:

#include "headerfile.h"class someClass
{
public:
//using enum someEnum; //don't work as I want
};

Я хочу, чтобы someValue было доступно как

     someClass::someValue

Так что мой вопрос возможно ли это?

1

Решение

один из способов сделать это:

class someClass
{
public:

#include "headerfile.h"
//using enum someEnum; //don't work as I want

};

не красиво, но работает.

2

Другие решения

Вы можете вложить это enum определение:

class someClass {
public:
enum someEnum {
someValue
};
};

Затем вы можете получить доступ к перечислениям так, как вы хотели:

someClass::someEnum X = someClass::someValue;

Если, однако, вы хотели создать переменную-член типа someEnumВы можете сделать это либо просто поставив someEnum как тип, или вложив перечисление и поместив имя переменной перед точкой с запятой.

3

Вы можете попытаться включить библиотеку в определение класса.

2
По вопросам рекламы [email protected]