static을 상속 받은 class가 여러개면 어떻게 되는 건가요?

각 게시판의 주제에서 벗어나는 게시물을 삭제 전에 임시로 보관하는 곳입니다. 읽기 전용이나, 자신의 글을 삭제, 수정하는 것은 가능합니다.
Post Reply
비회원

static을 상속 받은 class가 여러개면 어떻게 되는 건가요?

Post by 비회원 »

Code: Select all

template <typename T>
class Base
{
public:
        static T* mGlobal; 
}


class A : pubic Base<A>
{
}

class B : public Base<B>
{
}

class C : public Base<C>
{
}

이렇게 되면 A와 B 와 C는 Base클래스의 static T* mGlobal;을 공유하게 되는 건가요 아니면 서로
각각의 static A* mGlobals; static B* mGlobals; static C* mGlobals; 가 생기게 되는건가요.

무척 궁금합니다. 답변 부탁드립니다. 객체 지향, C++ 묘하게 재밌군요.
비회원

Re: static을 상속 받은 class가 여러개면 어떻게 되는 건가요?

Post by 비회원 »

비회원 wrote:

Code: Select all

template <typename T>
class Base
{
public:
        static T* mGlobal; 
}


class A : pubic Base<A>
{
}

class B : public Base<B>
{
}

class C : public Base<C>
{
}

이렇게 되면 A와 B 와 C는 Base클래스의 static T* mGlobal;을 공유하게 되는 건가요 아니면 서로
각각의 static A* mGlobals; static B* mGlobals; static C* mGlobals; 가 생기게 되는건가요.

무척 궁금합니다. 답변 부탁드립니다. 객체 지향, C++ 묘하게 재밌군요.
BASE<A>,BASE<B>,BASE<C> 둘다 전혀 다른 객체입니다

템플릿 코드만 공유 할뿐 실질적으로 컴파일할때 3가지 버전의 클래스가 생성되는거죠

따라서 static T* mGlobal; 이걸 공유하지 않습니다
Post Reply