Доступ к статическому констату в другом классе.

Статическая переменная const, объявленная и определенная в классе. Как получить к нему доступ в частном доступе другого класса в том же проекте. Является ли это возможным?

//in some header file
Class A{
public:
//some data

private:
static const uint8_t AVar =1;
//other data
};//in some another header file
Class B{
static const Bvar;
};
//here inside Class B it possible to give Bvar  = AVar ? If yes, How ?

0

Решение

Чистый способ избежать дублирования магического значения без ослабления инкапсуляции любого класса — это переместить магическое значение в другое место, доступное для обоих классов.

Например:

namespace detail {
enum MAGIC_NUMBER_T {
MAGIC_NUMBER = 1
};
}

class A{
private:
static const uint8_t AVar = detail::MAGIC_NUMBER;
};

class B{
static const uint8_t BVar = detail::MAGIC_NUMBER;
};
2

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector