클래스를 선언하는 헤더 파일이 있는데이 클래스가 기본 cpp C++ 파일 (즉 클래스 '1'이 아닌 다른 파일)에 선언 된 정수에 액세스하려고합니다. . 나는 Google에서 검색 중이며 관련성이 없다고 판결했습니다. 어떻게해야합니까?C++ 클래스 헤더 파일의 전역 정수에 액세스
0
A
답변
0
main.cpp의 정수를 함수로 옮기고 함수를 정적으로 만들고 함수가 해당 함수에 대한 참조를 반환하도록하고 함수를 클래스 헤더 파일 (또는 구현 파일 if 적절한) 포함합니다.
integer.h가 :
#ifndef INTEGER_H // use some better, longer name here
#define INTEGER_H
int &Integer();
#endif
integer.cpp : 정수 같은
#include "integer.h"
int &Integer()
{
static int i = 0;
return i;
}
액세스 :
int x = Integer(); // copy
Integer() = 123; // assign
0
소스 파일에서 특정 전역 변수를 공유하려면를 사용 extern
키워드
MAIN.CPP
#include "foo.h"
int global_var=0;
int main()
{
foo();
return 0;
}
foo.h
#ifndef FOO_H
#define FOO_H
extern int global_var;
void foo();
#endif
foo.cpp에
#include "foo.h"
int foo()
{
global_var=1;
}
관련 문제
- 1. C++ 개별적으로 정수에 액세스
- 2. 헤더 파일의 클래스
- 3. 다른 c- 파일의 pthreads에서 전역 변수에 액세스
- 4. lib 파일의 C++ 전역 클래스 생성자
- 5. 다른 헤더 파일의 클래스?
- 6. Eclipse C++에서 헤더 파일의 클래스 포함
- 7. 헤더 파일의 중복 클래스 선언
- 8. 리소스 파일의 전역 변수에 액세스
- 9. Beginner C++ - 헤더 파일의 전역 상수를 사용하는 데 문제가 있습니다.
- 10. 헤더 파일의 전역 배열 ... 크기를 지정해야합니까?
- 11. 헤더 파일의 C++ 템플릿
- 12. C - 헤더 파일의 오류
- 13. C 헤더 파일의 위치
- 14. 헤더 파일의 C++ 배열
- 15. 클래스 메서드에서 포함 된 파일의 전역 변수에 대한 액세스 허용
- 16. 헤더 파일의 심볼 C/C++
- 17. C++ 파일의 c 헤더 포함
- 18. 클래스 외부의 전역 변수에 액세스
- 19. c 및 C++ 헤더 파일의 일부 문제
- 20. 헤더 파일의 클래스 구현은 == 나쁜 스타일입니까?
- 21. C# 클래스 헤더 스타일
- 22. 공통 헤더 파일의 외부 클래스 및 클래스의 헤더 파일
- 23. C - 헤더 파일이없는 여러 파일의 구조체
- 24. 헤더 파일의 중요성
- 25. C 헤더 파일의 포함 사이클
- 26. 헤더 파일의 변수 선언 C++
- 27. C++ 헤더 파일의 동적 배열
- 28. C++ 헤더 파일의 네임 스페이스
- 29. 헤더 파일에서 주 파일의 함수에 액세스 할 수 없습니다. C++
- 30. .ctp 파일의 전역 변수에 액세스 하시겠습니까?
는'extern' 같은 헤더 파일 정수를 선언 – jsantander