본문 바로가기

cpp5

[C++프로그래밍] 예외처리 예외(exception)란? 프로그램 실행 도중에 발생 할 수 있는 비정상적인 사건 → 비정상인 데이터, 자원의 부족 등 예외 상황에 대한 적절한 대비를 하지 않으면 프로그램이 안정적으로 실행되지 않는 문제가 일어날 수 있음 예외처리(exception handling) 프로그램 실행 중 예외가 발생하였을때를 대비해 분기처리하는 것 예외처리에 따른 자원 관리 문제 스마트 포인터의 활용 unique_ptr : 할당된 메모리를 한 개의 포인터만 가리킬 수 있음 shared_ptr : 할당된 메모리를 여러 개의 포인터로 가리킬 수 있음 vector 사용 가능 noexcept 함수 지정 → 함수가 예외를 일으키지 않음을 지정 template T max(const vector& v) noexcept { auto p.. 2022. 12. 1.
[C++ 프로그래밍]템플릿 컨테이너 클래스 객체를 저장하는 클래스 클래스 템플릿의 선언 형식 template class ClassTemplateName { ...... } templateParameters : 템플릿 매개변수 목록 → 자료형을 받을 템플릿 매개변수 : ‘typename T’ 또는 ‘class T’ 로 표기(T 는 사용자 정의 명칭) classTemplateName : 클래스 템플릿 이름 클래스 템플릿의 선언 매개변수 T의 값에따라, 달라진다. template class Stack { T *but; // buffer pointer int top; // stack top int size; // 스택의 크기 public : Stack(int s); // 생성자 virtual ~Stack(); // 소멸자 bool ful.. 2022. 12. 1.
[C++ 프로그래밍]연산자 다중정의 피연산자의 자료형과 연산자 동일한 연산자라도 구체적인 처리 방법은 피연산자의 자료형에 따라 달라진다. 연산자 다중정의란? c++ 에 정의된 연산자를 사용자가 선언한 클래스의 객체에 대하여 사용 할 수 있도록 정의 하는 것 연산자의 의미를 임의로 바꾸지 않는다. 고유의 특성이 유지되도록 한다. 연산자의 다중정의 위치 클래스의 멤버로 정의하는 방법 → 연산자의 구현 과정에서 객체의 멤버를 액세스 할 수 있음 클래스 외부에서 정의하는 방법 → 클래스의 멤버가 아니므로, 객체의 private 멤버는 직접 사용 x 다중정의 형식 전위 표기법 ReturnClass ClassName::operator opSymbol() { ······ } opSymbol : ++ , — 등의 단항 연산자 기호 형식 매개변수 x 후위.. 2022. 12. 1.
[C++ 프로그래밍] 클래스와 객체 객체(Object) 란? 소프트웨어 시스템 안의 어떠한 대상을 표현한 것으로 정해진 처리를 수행 → 행위, 메소드, 멤버함수 처리 과정에 따라 내부 상태가 변화할 수 있음 → 속성, 데이터 멤버 다른 객체와 상호작용 할 수 있음 → 메시지 전달(멤버 함수 호출) 클래스(Class)란? 객체의 설계도 객체가 포함할 데이터 멤버의 선언과 멤버 함수의 정의를 포함한다. 클래스 선언문 형식 class ClassName { private: // 가시성 지시어 - 멤버 공개 범위를 나타냄 (public,private,protected) int value; // 데이터 멤버 - 값을 저장 할 변수 (속성) void reset() ······ }; 가시성 지시어 class의 공개 범위를 나타낸다. private (기본.. 2022. 12. 1.
[C++ 프로그래밍] 함수 함수란? 특정 작업을 수행하는 프로그램 문장들을 하나의 단위로 모아놓고 이름을 부여한것 return 명령을 이용하여 결과 값을 반환함 함수 원형의 사용 → 함수가 호출 위치에 비해 뒤에 정의되어 있거나 다른 파일에 정의되어 있을 때는 함수 원형을 선언해야 한다. 인수의 전달(값 호출과 참조 호출, const 인수, 디폴트 인수) → const 인수를 사용하면 참조 호출을 하거나 포인터를 인수로 전달 할 경우 이에 해당되는 데이터를 보호할 수 있다. 함수 다중 정의를 할 때는 각각의 함수가 인수의 자료형이나 개수로 구분 할 수 있어야 한다. →함수 다중 정의란 동일한 이름을 갖는 함수를 여러 개 정의 하는 것이다. 다중 정의된 함수의 구분은 인수의 개수 및 자료형을 가지고 판단한다. 함수 정의 방법 **R.. 2022. 12. 1.
728x90