컴퓨터 프로그램을 디자인할 때 객체를 사용하는 프로그래밍 패러다임
객체는 클래스의 특정한 인스턴스이다.
객체는 state와 behavir를 갖는다. 이때 state는 property로 표현되는 데이터, behavir는 method로 표현되는 operation을 나타낸다.
c++에서 프로그램의 entry가 되는 것은 main() 함수이다.
프로그램은 클래스에서 생성된 객체들 사이의 메세지 전달로 수행된다.
메세지는 다음과 같이 구성된다.
C++에서는 new
를 사용해서 동적 메모리를 할당하고 delete
를 사용해서 동적할당된 메모리를 해제한다. 다음은 2차원 배열에 동적할당을 하고 해제하는 예시이다.
int **arr;
arr = new int*[row];
for(int i=0; i<row; i++){
arr[i] = new int[col];
}
for(int i=0; i<row; i++){
delete [] arr[i];
}
delete [] arr;
c에서는 포인터를 전달하면 *로 또 참조를 하는데, c++에서는 &형태로 보내면 알아서 참조를 해준다.
void swap(int &a, int &b){
int tmp;
tmp = a;
a = b;
b = tmp;
}
swap(a, b);