일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 원격 제어 프로그램
- 동영상
- 소스 코드
- 언제나 휴일
- 실습
- 추천
- C++
- 캡슐화
- 유튜브 동영상 강의
- 표준 라이브러리 함수
- 소켓 통신
- 네트워크 프로그래밍
- 졸업 작품 소재
- 파이썬
- 표준 입출력
- 언제나휴일
- c언어
- 클래스 다이어그램
- 산책하기 좋은 곳
- 충남 천안
- Windows Forms
- 강의
- 동영상 강의
- 졸업 작품
- 안드로이드 앱 개발
- 실습으로 다지는 c#
- 알고리즘
- c#
- 프로젝트
- 무료 동영상 강의
Archives
- Today
- Total
프로그래밍 언어 및 기술 [언제나휴일]
[C++] 19. 특별한 멤버 this 본문
개체의 메서드에서는 특별한 키워드 this를 사용할 수 있어요. this는 컴파일러에 의해 자동으로 캡슐화하는 정적 멤버입니다. this 키워드는 개체 자신을 나타내며 클래스 형식의 포인터입니다.
this 키워드를 통해 접근할 수 있는 것은 클래스에 캡슐화한 멤버입니다. 따라서 멤버 필드와 지역 변수와 같은 이름이어도 this 키워드로 접근하면 멤버 필드를 접근합니다. 참고로 전역 변수와 지역 변수, 멤버 필드의 이름이 같을 때 전역 변수는 스코프 연산자(::)와 함께 사용할 수 있고 멤버 필드는 this 키워드와 함께 사용할 수 있습니다. 지역 변수는 변수명만 가지고 접근할 수 있죠.
물론 이름이 다르다면 스코프 연산자(::)나 this를 굳이 사용할 필요는 없어요.
//같은 이름의 전역 변수, 지역 변수, 멤버 필드 접근하기
#include <iostream>
using namespace std;
int num=1;
class Demo
{
int num;
public:
Demo(int num)
{
this->num = num;
}
void View(int num)const
{
cout<<"전역 변수 num:"<<::num<<endl;//스코프 연산자(::)와 변수명
cout<<"멤버 필드 num:"<<this->num<<endl; //this->멤버 필드명
cout<<"지역 변수 num:"<<num<<endl;
}
};
int main()
{
Demo *demo = new Demo(2);
demo->View(3);
delete demo;
return 0;
}
▷실행 결과
전역 변수 num:1
멤버 필드 num:2
지역 변수 num:3
this는 클래스 내부에서만 접근할 수 있으므로 주의하세요.
'C & C++ > 디딤돌 C++' 카테고리의 다른 글
[C++] 23. 캡슐화 최종 실습 – 멤버 필드 24. 멤버 메서드 25. 테스트 코드 작성 (1) | 2024.04.07 |
---|---|
[C++] 22. 캡슐화 최종 실습 – 시나리오 (0) | 2024.04.07 |
[C++] 21. 캡슐화 실습2 – 학생 (1) | 2024.04.07 |
[C++] 20. 캡슐화 실습1 – 복소수 (0) | 2024.04.06 |
[C++] 18. 상수화 멤버 (0) | 2024.04.06 |
[C++] 17. 정적(static) 멤버 (0) | 2024.04.06 |
[C++] 16. 생성자, 소멸자 (0) | 2024.04.06 |
[C++] 15. 접근 지정자 (0) | 2024.04.06 |