{Programing}(131)
-
c/c++ 예외처리
예상치 못한 오류를 안전하게 처리해서 코드가 안전하게 동작할수 있도록 하는 기법. try, throw, catch 문 try 문 : 예외가 발생할 만한 코드 블록 throw 문 : try 블록에서 발생한 오류에 대한 정보 전달 던짐. catch 문 : 던져진 정보를 담아 처리할 내용을 담은 코드 블록. 순서대로 try { 예외가 발생할만한 코드 throw something; } catch (value something) { 예외 처리 코드. } try 문에서 예외가 발생하지 않으면 throw, catch 무시. try 문에서 예외가 터지면 throw를 통해 가까운 catch 문부터 검사. 없으면 바깥쪽 try문과 쌍을 이루는 catch 문 검사. 제일 바깥쪽까지 반복 후, 없으면 terminate() 함..
2020.01.21 -
c/c++ virtual, interface, abstract class
가상함수 : 함수의 인터페이스와 구현까지 완료되어 있고, 서브 클래스에 꼭 상속해야할 함수. 재구현 할 필요까진 없으나 재구현 가능한 함수. 순수 가상함수 : 함수의 인터페이스만 작성되어 있고, 서브클래스에 꼭 상속하고 필히 구현해야하는 함수. 인터페이스 클래스 : 순수 가상함수로만 이루어진 클래스. 어떤 기능이 필요할지 설계하는 클래스. 객체화 불가능 한 클래스. 상속받은 클래스는 인터페이스를 꼭 전부 구현해야함. 추상 클래스 = 가상 클래스 가상함수가 하나 이상 정의된 클래스.
2020.01.21 -
c/c++ 상속(2)
다중 상속 말그대로 상속을 여러번 받는것을 의미한다. 여러 단계의 상속이 아니고, 한번에 여러 슈퍼 클래스에서 동시 상속 받는 것을 의미한다. 장점보다 단점이 더 명확해서 자주 쓰이지 않음. 장점 : 여러 슈퍼클래스를 동시에 사용할수 있다. 단점 : 슈퍼클래스 사이의 중복된 이름의 멤버 변수나 함수가 있는 문제, 슈퍼클래스를 이중 상속받는 문제 가상클래스가 아닌 슈퍼클래스를 상속받을 경우, 슈퍼클래스가 어떤것인지 특정 되지 않기때문에 슈퍼클래스의 포인터로 파생클래스를 가리킬수 없게 됨. 다형성 멤버 함수 오버로딩, 생성자 오버로딩, 연산자 오버로딩, 가상함수를 이용한 함수 오버라이딩을 이용해 "같은 요청에 대해 다른 응답을 줄수 있게 하는 것" 이라고 할 수 있다. 가령 Sum 이라는 더하기 함수에 대해..
2020.01.21 -
c/c++ 상속(1)
상속 사전적 의미 : 친족의 사망시 재산상의 권리를 다른 친족이 받는 것. 프로그래밍적 의미 : 부모 객체의 모든 속성을 이어받아 코드의 재사용성을 높이는 것. 개인적으로 느끼기엔 유전의 의미가 더 큼. 부모객체의 유전자를 물려받는 느낌. 상속의 관계는 상속을 받는 쪽과 상속을 하는 쪽으로 나뉜다. 상속을 하는 쪽의 클래스를 부모, 상위, 기초, 슈퍼 클래스라고 하며 받는 쪽의 클래스르 자식, 하위, 유도, 서브 클래스라고 한다. 여기에서는 슈퍼, 서브 클래스를 사용한다. 클래스 사이의 관계는 상속 뿐아니라 association = 연관 composition = 복합 연관 aggregation = 집합 연관 dependency = 의존 realization = 실체화 generalization = 일반화..
2020.01.21 -
Queue
터널과 같은 구조. 삽입하는 순서대로 출력되는 구조. 연산은 Push, Pop 선입 선출 (First In First Out) Push 연산 : 맨 뒤에 삽입. Pop 맨 앞에서 출력. 소스코드 : 더블리스트를 기반으로 구현한 큐. kalsbold/TaengTaro_STL Contribute to kalsbold/TaengTaro_STL development by creating an account on GitHub. github.com
2020.01.20 -
Stack
데이터를 쌓는다는 의미의 자료구조. 연산은 Push, Pop 이 있다. 구조 배드민턴 셔틀콕 통 먼저 넣은 공을 제일 나중에 꺼내게 되는 구조. 선입 후출 ( First In Last Out) Push 연산 : 데이터를 넣는 연산. 맨 위에 넣는다. Pop 연산 : 데이터를 뽑는 연산. 맨 위에서 뽑는다. 소스코드 : 더블 리스트를 이용해 구현한 스택. kalsbold/TaengTaro_STL Contribute to kalsbold/TaengTaro_STL development by creating an account on GitHub. github.com
2020.01.20