Projemde, bir sınıfta tanımlanan ve sınıf boyunca kullanılan bir numara var. Refactoring sırasında bu enum başka bir sınıfa taşındı. Yani basitçe typedef
böyle, benim orijinal sınıfta ed:Diğer sınıftan enum değerlerine erişme
class A {
public:
enum E {e1, e2};
};
class B {
public:
typedef A::E E;
};
Şimdi değişken tanımlar, dönüş değerleri, fonksiyon parametreleri, vb mükemmel çalışır. Sadece enumun değerlerine ikinci sınıfımın içinden erişmek istediğimde, onları hala çevreleyen sınıfın adı olan
ile nitelendirmek zorundayım. E e = A::e1;
Bundan kaçınmanın bir yolu var mı, yoksa bunu enum değerlerinin her bir döngüsüne kopyalamak zorunda mıyım?
Numara değerlerine nasıl erişirsiniz? Hala yazmak zorundayım. E :: EnumType e = E :: e1; ' –
Bunu yazmak zorundasınız ki, E'yi yaptığınız sürece, sayılan değerleri çoğaltmak zorunda kalmamanız için küçük bir bedel olduğunu hissediyorum. sayım için anlamlı isim. –