const 멤버 함수 const 멤버 함수란? * 멤버 함수에 const 한정자를 추가하는 것이다. * 함수 시그니쳐 const {구현부}; 형식으로 만든다. class Dog { public: Dog(string name, int age):_name(name), _age(age) {} string GetName() const { return _name; } int GetAge() const { return _age; } private: string _name; int _age; }; const 멤버 함수의 특징 * 2가지 특징이 있다. 1. 멤버 변수 변경불가 2. const 함수만 호출가능 * 멤버 변수의 대입이 불가능하다. 매개변수나 함수 지역 변수는 변경 가능 * const 함수만 호출가능 다른 ..
vector 라이브러리 선행 * vector 라이브러리는 STL 중에 하나이다. [C++] STL - Standard Template Library STL - Standard Template Library STL * C++에서 제공하는 표준 라이브러리이다. * STL을 사용해 기본적인 자료구조를 구현, 사용할 수 있다. (리스트, 큐, 스택, 맵, 셋, 등등...) * 이러한 저장 공간을 Container라 licktwice.tistory.com * vector는 동적 배열이다. [자료구조] 동적 배열 특징 동적 배열 특징 배열의 특징 * 배열이라고 하면 기본적으로 생각하는 특징들이 있다. * 인덱스를 사용해 요소에 접근한다. * 메모리는 빈틈없이 이어져 있는 하나의 덩어리다. * 데이터의 순서를 lic..
getter와 setter private 멤버 변수의 문제점 * 멤버 변수를 private로 하면 외부에서 정보를 보거나 변경하지 못한다. 문제는 정보 보기와 변경을 둘 다 못한다는 것이다. * 정보는 보여주지만 변경은 하지 못하게 하고 싶다. 이런 제어는 접근제어자로만은 불가능하다. * 따라서 private 멤버 변수는 그대로 두고 get과 set를 담당하는 메서드를 만들어 원하는 제어가 가능하도록 한다. * 이런 함수를 getter함수, setter함수라고 한다. 언제 사용함 * 멤버변수의 정보 보기와 변경의 접근제어자를 다르게 하고 싶을 때 * 멤버 변수를 바꿀 때 조건을 추가하고 싶을 때 * 사용자가 원하는 데이터가 직접 저장되어있는 게 아닌 계산을 해야만 하는 상황일 때 getter / sett..
후위표기법 (Postfix Notation) 후위표기법이 필요한 이유 * 우리가 사용하는 사칙연산 공식이 중위표기법이다. (2+6/2)+10*3 * 딱 보면 컴퓨터가 이해하기 힘들어 보인다. 컴퓨터가 이해하기 쉽게 도와주는 방법이 후위표기법을 쓰는 것! 어떻게 바꾸는데? * 다른 곳에서 보세여 ㅎㅎ (설명 잘한 곳이 너무 많아서 의욕을 잃음..) 필요 개념 * 기본적인 C문법 + 스택만 알면 만들 수 있다. 스택 만들기 #define _CRT_SECURE_NO_WARNINGS #include #define STACK_SIZE 256 char stack[STACK_SIZE]; int top = -1; void push(char num) { if (top >= STACK_SIZE) { printf("\nst..