minjeong-oh
기록
minjeong-oh
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • ML & Neural Net (3)
    • ◼️GNN (1)
    • ◼️시계열 (1)
    • ◼️추천시스템 (0)
    • ◼️수학 (3)
    • Data Engineer (2)
    • ◼️Spark (1)
    • ◼️Kafka (1)
    • ◼️Elestic Search (0)
    • ◼️Redis (0)
    • ◼️ClickHouse (1)
    • Programming Language (4)
    • ◼️Git (1)
    • ◼️Python (1)
    • ◼️C++ (33)
    • ◼️Fortran 99 (2)
    • ◼️OpenGL (7)
    • ◼️MFC (35)
    • ◼️Flutter (46)
    • ◼️Kotlin (1)
    • ◼️Android (1)
    • ◼️Java (1)
    • ◼️C (4)
    • Development (0)
    • ◼️디자인패턴 (0)
    • ◼️네트워크 (2)
    • ◼️인증 (1)
    • Computer Science (4)
    • 알고리즘 문제풀이 (12)
    • SQL 고득점 Kit 문제풀이 (8)
    • 취업준비 (0)
    • Notion 정리 글 (1)
    • Article Scrap (3)
      • Careerly - Q&A (7)
      • Careerly - Post (2)
    • 기타 등등 (16)

블로그 메뉴

  • 글쓰기
  • 홈
  • 태그
  • 방명록
  • 편집

공지사항

인기 글

태그

  • 이차원구조체배열포인터
  • 19년식그램램장착
  • 티스토리폰트배경색없애기
  • 리눅스파티션
  • 구조체매개변수
  • mfc
  • 인공지능개발자
  • kafka구축
  • NextJSSwagger
  • 구조체배열포인터
  • 19년식그램SSD장착
  • 이것이C++이다책참고
  • AI배워야하나
  • OpenGL회전
  • API문서정리
  • 그램업그레이드
  • GSLB
  • SpringBootSwagger
  • 그램풀스팩업그레이드
  • hello테마

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
minjeong-oh

기록

◼️C++

[C++] 메서드, this 포인터

2023. 9. 17. 22:33

메서드

메서드(=멤버함수)의 원형

- static 예약어: 정적 메서드 , 쓰기 불가능

- const 예약어: 상수형, 상수화된 메서드 , this 포인터 접근 불가능

- 메서드 = 인터페이스함수라고 해도됨

static 반환형 클래스이름::함수이름(매개변수) const;

 

멤버변수에 접근하는 정확한 방법

this->클래스명::멤버변수명  (소속을 정확히 명시할 수 있다.)

멤버변수명만 쓰더라도 내부적으로 this가 붙어서 컴파일된다.

class CMyData{
public:
  void PrintData(){
    cout << this->CMyData::m_nData << endl;  //정확한 표현
    cout << m_nData << endl;  //m_nData라고만 쓰더라도 실제로 'this->m_nData'로 컴파일된다.
  }
private:
  int m_nData =10;
}

int main(){
  CMyData c;
  c.PrintData();
}

 

this 포인터

제작자가 작성 중인 클래스의 실제 인스턴스에 대한 주소를 가리키는 포인터. 실제 생략되어 전달된다.

class CMyData{
public:
  void PrintData(/*CMyData *pData*/){   //생략되어 전달된다. (실제 이렇게 코드를 작성하면, 문법에어긋난다.)
    /*CMyData * this = pData;*/   //눈에보이지 않지만 this가 생성되는 것이다.
   
    cout << this->CMyData::m_nData << endl;  //정확한 표현
    cout << m_nData << endl;  //m_nData라고만 쓰더라도 실제로 'this->m_nData'로 컴파일된다.
  }
private:
  int m_nData =10;
}

int main(){
  CMyData c;
  c.PrintData();
}

 

 

더보기
 

Visual Studio C++ 사전

c++ 공부 내용을 지속해서 추가하는 게시글입니다. 참고 책 Part1. C에서 C++로 문법 전환하기 Chap1. C와는 다른 C++ [C++] Hello world 출력해보기 [C++] 여러 변수 출력하기 [C++] Visual Studio 에서 추가로 사용

genius-duck-coding-story.tistory.com

 

 

 

'◼️C++' 카테고리의 다른 글

[C++] 상수형 메서드, mutable, const_cast< >  (0) 2023.09.17
[C++] 클래스 요구사항에 맞게 코드 구현하기  (0) 2023.09.17
[C++] 명시적 디폴트 생성자  (0) 2023.09.17
[C++] 생성자 다중정의  (0) 2023.09.17
[C++] 참조형식 멤버변수 초기화 (생성자초기화목록 이용)  (0) 2023.09.17

    티스토리툴바