Статическая переменная 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 ?
Чистый способ избежать дублирования магического значения без ослабления инкапсуляции любого класса — это переместить магическое значение в другое место, доступное для обоих классов.
Например:
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;
};
Других решений пока нет …