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