예.. 각각 다른 메모리위치에서 각자 생성되어 유지됩니다.
만~~약, A1, A2, A3가 '전역변수'처럼 같은 메모리 공간을 사용한다면,
A1,A2, A3가 완전히 같아지게 되잖아요. 그렇게되면, A1, A2, A3를
만들어주는 의미가 없게되죠...
간단하게.. 아래의 클래스와
class test
{
private:
int alpha;
int beta;
public:
void SetAlpha(int n) { alpha = n ; } ;
int GetAlpha() { return alpha ; } ;
int sum();
test(); //생성자
};
void main()
{
int n1, n2 ;
classs test A1, A2, A3 ; // 세개의 인스턴스를 만들고..
A1.SetAlpha(100) ;
A2.SetAlpha(200) ;
n1 = A1.GetAlpha() ;
n2 = A2.GetAlpha() ;
printf(" A1 Alpha = %d A2 Alpha = %d", n1, n2) ;
return ;
}
이런식으로 체크해볼수가 있겠죠...
김진수 님이 쓰신 글 :
: 클래스를 만들면 여러 인스턴스를 만들수 있다고 하는데
:
: 그럼 매 인스턴스 마다 선언된 변수는 서로 다른 것인 가요?
:
: class test
: {
: private:
: int alpha;
: int beta;
: public:
: int sum();
: test(); //생성자
: };
:
: main 에서 test A1,A2,A3; 라고 하면 각 인스턴스의 alpha,beta는 서로 다름 값을 가지게
: 되나요 아님 전역 변수 처럼 서로 영향을 미치게 되나요
:
:
|