개념새로운 클래스는 기존 클래스의 속성과 메서드를 물려받을 수 있으며, 이를 통해 새로운 클래스는 기존 클래스의 기능을 확장하거나 수정할 수 있다.코드예시class Base { // 피상속 클래스, 부모클래스public: int base_var; void base_function() { // base class function }};class Derived : public Base { // 상속클래스, 자식클래스public: int derived_var; void derived_function() { // derived class function }};클래스 상속Derived 클래스가 Base 클래스를 상속한다.class Derived : publ..
개념 정의FIFO(First in First Out)의 자료구조 Front: 가장 처음에 들어온 원소의 인덱스 - 1Rear: 가장 마지막에 들어온 원소를 가리키는 인덱스capacity: 큐가 최대로 담을 수 있는 원소의 개수(배열의 크기 - 1)size: 현재 큐에 담겨져 있는 원소의 개수(size = rear - front)enqueue: 큐에 데이터를 넣는 연산(rear = (rear + 1) % capacity)dequeue: 큐에서 데이터를 빼는 연산(front = (front + 1) % capacity)Front 와 Rearfront, rear 두 개의 인덱스를 사용해서 전체 배열의 시작과 끝을 추적한다.front와 rear의 값이 동일할 경우, 해당 큐는 비어있다.front는 가장 먼저 추..
개념코드의 재사용성을 높이고 자료형에 독립적인 프로그래밍을 가능하게 하는 기능자료형을 추상화하여 클래스와 함수를 선언할 수 있다.template, typename 키워드를 사용한다.문법클래스 선언 위에 템플릿 예약어를 `template `처럼 사용한다.클래스의 인스턴스 생성 시 `` 안에 사용하고자 하는 자료형을 넣는다. 사례템플릿을 활용한 클래스 선언#include using namespace std;template class Calculator { public: Calculator() { result_ = 0; cout 템플릿이 활용된 클래스의 인스턴스 생성int main() { Calculator a; a.add(10, 12); a.print(); ..
구조체란?여러 개의 변수와 함수를 하나의 단위로 묶은 것구조체란 데이터의 집합을 정의하는 사용자 정의 자료형이다. 여러개의 변수를 하나의 단위로 묶어서 다루게한다. 각각의 변수와 함수를 구조체의 멤버라고 한다. 클래스와 달리 구조체의 멤버는 public 접근제어를 기본으로 가진다.struct MyStruct { int first; int second; int Sum() { return first + second; }};구조체를 선언 시 마지막에 세미콜론을 붙이는 것을 기억하자. 멤버구조체의 멤버란 구조체 내에 정의 된 변수나 함수다. 구조체는 멤버를 여러 개 가질 수 있다. 구조체 멤버 변수는 구조체의 인스턴스가 다룰 값을 저장한다. 구조체 멤버함수는 구조체의 데이터를 처리하거나 특정 작업을 실행한..
개요💡두 변수의 값의 교체알고리즘에서 swap은 두 변수의 값들을 서로 교체하는 과정이다. swap은 여러 알고리즘에서 기본 연산으로 사용된다. 예를 들어 정렬 알고리즘에서는 요소를 올바른 위치로 이동시키기 위해 swap 연산을 사용한다. 기본개념1) 임시변수를 사용하는 경우temp = aa = bb = temp2) XOR 연산을 하는 경우a = a ^ bb = a ^ ba = a ^ b3) 덧셈, 뺄셈을 하는 경우a = a + bb = a - ba = a - b Swap의 구현1) 포인터를 사용하는 경우void swap(int *i, int *j){ int temp = *i; *i = *j; *j = temp;}2) 레퍼런스를 사용하는 경우void swap(int &i, int &j){ int tem..