2011-03-26 4 views
0

저는 C#이나 다른 언어로 이런 식으로 사용되었습니다.정적 데이터 멤버가 C++에서 컨테이너 유형을 입력 할 수 있습니까?

// C#, but I can't remember correctly. Just assume like a pseudo code. 
class A 
{ 
    public int b; 
    public A(int newB) 
    { 
     b = newB 
    } 
    public static const A a1 = A(1); 
    public static const A a2 = A(2); 
    public static const A a3 = A(3); 
} 

C++에서 이와 동일한 기능이 있습니까? 또는이 작업을 수행하는 데 권장되는 방법은 무엇입니까? 나는 단지 클래스 이름 안에 a1, a2, a3을 조직하기 위해 이것을한다.

답변

4

C++에서 이와 동일한 기능이 있습니까?

다음 C++ 코드는 C# 코드에 해당 : 만 const 정적 적분을 허용

class A 
{ 
    public: 
    int b; 
    A(int newB) : b(newB) 
    { 
    } 

    //declaration 
    static const A a1; 
    static const A a2; 
    static const A a3; 
}; 

//definition - necessary! 
const A A::a1 = A(1); 
const A A::a2 = A(2); 
const A A::a3 = A(3); 
+1

젠장 제한은 클래스/구조체 내부에 정의되어야한다. :) – Xeo

+0

정의에'static' 한정자가 없습니다. –

+0

@Konrad : 맞습니다. 복사 붙여 넣기입니다. 그것을 편집했습니다! – Nawaz