인프런 커뮤니티 질문&답변
8.11 private static 멤버 변수
작성
·
241
0
안녕하세요 강의를 수강하고 있는 학생입니다.
cpp 에서는 클래스 안에 private으로 접근제어자를 설정한 변수에 대해서라도 static으로 선언해준다면
클래스::static멤버변수 로 호출을 할 수 있는건가요??
그렇게 되면 private으로 선언한 이유가 궁금합니다!
감사합니다
답변 1
0
용례를 알 수 있을까요?
일반적으로 아래와 같이는 불가합니다.
#include <iostream>
class foo
{
private:
static int i;
};
int main() {
foo::i = 10;
std::cout << foo::i << std::endl;
return 0;
}
test.cc:12:21: error: 'i' is a private member of 'foo'
std::cout << foo::i << std::endl;





8.11장에 16분 57초 경에 나오는 Something::_init Something::s_initializer; 에 대해서 s_initializer는 private 접근 제어자를 갖고 있는데 선언을 해서 사용하는 게 의문점이 들어서 질문 드렸습니다