728x90
반응형
객체 포인터
C++에서 객체를 다루기 위해 객체에 대한 포인터 변수를 선언하고, 이 포인터 변수로 객체의 멤버 변수를 읽고 값을 쓰거나 멤버 함수를 호출할 수 있다.
- 객체에 대한 포인터 변수 선언
Circle 타입의 객체에 대한 포인터 변수 p는 다음과 같이 선언한다.
i.e
Circle *p;
선언된 포인터 변수 p는 현재 아무 객체도 가리키고 있지 않다.
- 포인터 변수에 객체 주소 지정
객체의 주소는 객체 이름 앞에 & 연산자를 사용하여 표현한다. 포인터 변수 p에 donut 객체의 주소를 저장하는 코드는 다음과 같다.
i.e.
Circle donut;
p = &donut; //p에 donut 객체의 조수 저장
포인터 변수를 선언할 때 다음과 같이 객체의 주소로 초기화할 수도 있다.
i.e.
Circle *p = &donut; //포인터 변수 선언 시 객체 주소로 초기화
- 포인터를 이용한 객체 멤버 접근
객체 이름으로 멤버를 접근할 때는 점(.) 연산자를 이용하지만, 객체 포인터로 멤버를 접근할 때 -> 연산자를 사용한다.
i.e.
double d = p->getArea(); //Circle 클래스의 멤버 함수를 객체 포인터와 -> 연산자를 이용해서 사용
반응형