#include <iostream>
class A {
public:
static int a_;
class B {
public:
static int get_a() {
return A::a_;
}
};
};
class C {
public:
C()
: c_(1989)
{}
int c_;
class D {
public:
D(C& c)
: rc_(c)
{}
int get_c() {
return rc_.c_;
}
private:
C& rc_;
};
};
int A::a_ = 1990;
int main()
{
std::cout << A::B::get_a() << "\n";
C instance_c;
C::D instance_d(instance_c);
std::cout << instance_d.get_c() << "\n";
return 0;
}
static 를 쓰시거나
static 를 쓰시거나 멤버 변수에 포인터를 하나 추가하세요.
클래스 B에서 A를
클래스 B에서 A를 가르키는 포인터를 하나 사용하세요.
애고고... 밑에 답변이 있었네요.
내 블로그: http://unipro.tistory.com
아 감사합니다.
static 으로 사용하면 그 클래스에서 공통의 변수로 하나 생기는 것이지요?
그렇다면..포인터 방법을 써야겠군요.
감사합니다. ^^
댓글 달기