본문 바로가기
반응형

프로그래밍 언어/C++27

[C++] 상속 관계에서 생성자 호출순서와 명시적 호출이란? 앞서 C++에서 상속 형태에 대해서 알고 싶은 경우에는 아래 글 참고 ▶ [C++] 상속(inheritance)이란? [C++] 상속(inheritance)이란? - 기존 객체 속성을 물려받아 새로운 객체를 만든다. - 동물 ㄴ 개, 고양이, 닭, 말, 토끼 등 - 여행 ㄴ 해외, 국내, 1박 2일, 당일치기 - 물려주는 부모 역할의 객체를 "기반(Base) 클래스"라 zoosso.tistory.com 아래 Code를 보면 main문에서 인자가 있는 파생 클래스를 호출했다. #include class Base { public: Base() { std::cout Derived() : Base() {} Derived(int val) { } // -> Derived(int a) : Base() {} ~Deri.. 2021. 7. 4.
[C++] 상속(inheritance)이란? - 기존 객체 속성을 물려받아 새로운 객체를 만든다. - 동물 ㄴ 개, 고양이, 닭, 말, 토끼 등 - 여행 ㄴ 해외, 국내, 1박 2일, 당일치기 - 물려주는 부모 역할의 객체를 "기반(Base) 클래스"라 하고, 물려받는 자식 객체를 "파생(Derived) 클래스"라 한다. ① 파생 클래스명 (자식) ② 기반 클래스명 (부모) ③ 상속권한 명시자 ; 기반클래스로부터 상속받는 멤버들의 파생클래스에서의 접근권한 결정 → 기반 클래스 멤버는 파생 클래스에 모두 상속되지만, 기반클래스의 private멤버는 파생클래스에서 접근할 수 없다 → 상속권한 명시자 관점에서 부모(기반) 클래스를 어떻게 상속하는지 살펴보자. class Base { int id; protected: char name; public: vo.. 2021. 7. 4.
[C++] lower_bound, upper_bound 사용해보기 lower_bound, upper_bound ▶ lower_bound(start, end, val) = [start, end) 범위에서 val 이상인 첫 번째 원소 위치 반환 ▶ upper_bound(start, end, val) = [start, end) 범위에서 val 을 초과하는 첫번째 원소 위치 반환 (4번째 인자로 Comparator가 들어갈 수 있다.) - 헤더를 include 해야 한다. - lower_bound와 upper_bound는 내부적으로 이진 탐색을 수행하기 때문에 범위 내의 원소들이 비내림차순으로 정렬되어 있어야 한다. Reference - Binary Search (이분 탐색) - Parametric Search - 정렬 알고리즘 비교 2021. 5. 16.
[C++] [STL] Stack Stack 기본 연산 - LIFO 구조 (Last In First Out) - push(element) : 스택 (뒤쪽에) 원소 추가 - pop() : 스택에 (뒤쪽에) 있는 원소 삭제 (반환 x) - top() : 스택에서 끝에 있는 원소 반환 - empty() : 스택이 비어있으면 true 아니면 false 반환 - size() : 스택 사이즈 반환 Code #include #include using namespace std; #define endl "\n" int main(){ stack s; s.push(4); s.push(3); s.push(2); s.push(1); s.pop(); // 1 삭제 s.pop(); // 2 삭제 cout 2021. 2. 28.
[C++] [STL] Queue Queue 기본 연산 - FIFO 구조 (First In First Out) - push(element) : 큐 (뒤에) 원소 추가 - pop() : 큐에 (앞쪽에) 있는 원소 삭제 - front() : 큐 제일 앞에 있는 원소 반환 - back() : 큐 제일 뒤에 있는 원소 반환 - empty() : 큐가 비어있으면 true 아니면 false 반환 - size() : 큐 사이즈 반환 Code #include #include using namespace std; #define endl '\n' int main() { // 큐 생성 queue q; q.push(1); q.push(2); q.push(3); q.pop(); q.pop(); cout 2021. 2. 28.
[C++] [STL] Map Map 기본 연산 map의 원소는 pair 객체로 저장되며 pair 객체의 first 멤버 변수는 key로 second 멤버 변수는 value이다. - map : key와 value를 pair 형태로 선언 함수 목록 - begin() : beginning iterator 반환 - end() : end iterator 반환 - insert( make_pair(key,value) ): 맵에 원소를 pair 형태로 추가 - erase(key) : 맵에서 key에 해당하는 원소 삭제 - clear() : 맵의 원소들 모두 삭제 - find(key) : key(키값)에 해당하는 iterator를 반환 - count(key) : key(키값)에 해당하는 원소들(value들)의 개수를 반환 ※ map에서는 중복을 허.. 2021. 2. 28.
[C++] 기본 입출력 기본 입출력 숫자 a, b를 입력받아 a + b를 출력하는 ※ [BOJ] 10950 A + B - 3 #include #include using namespace std; int main(){ int TestCase; cin >> TestCase; while(TestCase--){ int a, b; cin>> a >>b; cout 2021. 2. 28.
반응형