C++에서 각 객체마다 하나의 변수를 공유할수 있을까요?
글쓴이: seungrye / 작성시간: 화, 2006/05/02 - 7:59오후
간단히
class A { public: int a; int ret_a(){return a;} int set_a(int b){a=b;} } ... void main() { A a; A b; a.set_a(9); cout<<b.ret_a()<<endl; } --결과-- 9
가 되도록 할수 있을까요?[물론 위의 소스를 완전 분해 재결합 '안'해도 상관 없습니다..-.-;]
질문의 요지는 하나의 클래스가 있고, 그 클래스로 두개 이상의(어쩌면 2-30개 이상;;) 객체를 만든다고 할때,
클래스 내에 선언해둔 어떤 변수(위의 코드에서는 a)를 모든 객체에서 공통으로 사용할수 있는 방법이 있는가?
입니다. [학교 숙제는 아닙니다..-.-;;;]
Forums:
static을 쓰세요.
static int a;
로 만들면 원하는 효과를 낼 수 있습니다.
static이라는걸로 해보려 했었지만...
요런 에러가 떠서..-.-;;
바꿔 보기도 했지만..
뭔가 동일한 에러로군요..-.-;;;
아.. 구글에서 물어봐야 하나??;
에러 내용을 보면
에러 내용을 보면 static member를 선언만 하고, 정의를 하지 않은 것 같습니다. static member는 따로 정의를 해 주어야 합니다. 예를 들면:
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
앗 그렇군요!!!
클래스 내부의 스태틱 변수는 그렇게 쓰는 것이었군요...
외부에 정의를...;;;
감사합니다..(__)
댓글 달기