본문 바로가기

C++ 기초 2

C++ 객체 포인터와 객체 배열

객체 포인터와 객체 배열

   객체를 다른 곳에서 공유할 경우에는 객체 규모가 크기 때문에 객체를 통째로 복사하는 것은 메모리 사용면에서 비효율적이다. 이러한 경우 객체 포인터를 사용하여 효율적으로 객체를 공유할 수 있다. 아래 예제로 객체 포인터와 객체 배열의 사용 방법을 참고할 수 있다. 

 

 
예제
#include <iostream>
class POINT {	//클래스 이름 (POINT)으로 클래스 정의 시작
private:
	int x, y;	// private 멤버 변수
public:
	void SetPoint(int a, int b) {	// 멤버 함수
		x = a;
		y = b;
		printf("x=%d, y=%d \n", x, y);
	}
};	// 클래스 정의 완료

int main()
{
	POINT ob, obarray[3], * pob;	// ob는 객체, obarray는 객체 배열, pob는 객체 포인터
	pob = &ob;
	ob.SetPoint(20, 30);	// ob 객체의 멤버 변수 지정
	pob->SetPoint(100, 100);	// pob를 이용하여 ob객체의 멤버 변수 지정
	obarray[0].SetPoint(0, 0);	//첫 번째 배열 객체의 멤버 변수 지정
	obarray[1].SetPoint(1, 1);	//두 번째 배열 객체의 멤버 변수 지정
	obarray[2].SetPoint(2, 2);	//세 번째 배열 객체의 멤버 변수 지정
}
실행 결과
x=20, y=30
x=100, y=100
x=0, y=0
x=1, y=1
x=2, y=2
참고

1. 홍원기, Visual C++를 활용한 Windows Programming, 북스홀릭퍼블리싱, 2019.02.2

'C++ 기초 2' 카테고리의 다른 글

C++ friend 함수  (0) 2024.01.30
C++ this 포인터  (0) 2024.01.29
C++ 동적 메모리 할당 및 제거 (new, delete)  (0) 2024.01.25
C++ 생성자와 소멸자  (0) 2024.01.22
C++ 클래스의 정의  (0) 2024.01.19