develop/C++
[씹어먹는 C++ - 4-3, 4] 복사 생성자, 소멸자, const, static
4-3 malloc vs new 모두 동적으로 할당한다 new 객체를 동적으로 생성 + 자동으로 생성자도 호출 malloc 메모리 동적 할당만 함 int main() { Marine *marines[100]; // 동적으로 메모리 할당 marines[0] = new Marine(2, 3); marines[1] = new Marine(3, 5); marines[0]->show_status(); marines[1]->show_status(); std::cout show_status(); marines[1]->show_status(); // 동적 할당한 메모리 해제 delete marines[0]; delete marines[1]; }소멸자 (Destructor) 생성한 객체가 소멸될 때 자동으로 호출되는 함..
[씹어먹는 C++ - 4-1, 2] 객체지향 프로그래밍, 함수 오버로딩, 생성자
4-1 객체 변수들과 참고 자료들로 이루어진 소프트웨어 덩어리 추상화 객체가 현실 세계에 존재하는 것들을 나타나기 위해 필요한 과정 캡슐화 인스턴스 메소드를 통해 인스턴스 변수들을 간접적으로 조절하는 것 예시 class Animal { private: // 외부에서 접근 불가능한 것들 (생략 가능) int food; int weight; public: // 외부에서 사용가능한 것들 void set_animal(int _food, int _weight){ food = _food; weight = _weight; } void increase_food(int inc){ food += inc; weight += (inc / 3); } void view_stat(){ std::cout
[씹어먹는 C++ - 3] 메모리 할당/해제
언어 할당 해제 C malloc free C++ new delete 변수 메모리 할당 / 해제 T* pointer = new T; delete pointer;배열에 메모리 할당 / 해제 T* array = new T[array_size]; delete [] array;예시 // 변수에 메모리 할당 / 해제 int *num = new int; delete num; // 배열에 메모리 할당 / 해제 int *arr = new int[3]; delete[] arr;
[씹어먹는 C++ - 2] 참조자
C언어에서 변수를 가리키고 싶을 때 사용하는 것 : 포인터 #include int change_val(int *p){ *p = 3; return 0; } int main() { int number = 5; std::cout