
예외는 프로그램 실행 도중에 발생하는 예외적인 상황이다. 예외상황을 처리하지 않았을 떄의 결과 예외상황 -나이를 입력하라고 했는데, 0보다 작은 값이 입력되었다. -나눗셈을 위한 두 개의 정수를 입력 받는데, 나누는 수로 0이 입력되었다. -주민등록번호 13자리만 입력하라고 했더니, 중간에 -를 포함하여 14자리를 입력하였다. 정상적인 값이 주어졌을 때는 잘 되지만, 예외가 발생하면 프로그램을 종료해버린다. -> 프로그램을 종료하지 않고, 그 예외의 처리가 일어나야한다. #include using namespace std; int main(void) { int num1, num2; cout > num1 >> num2; if (num2 == 0) { cout
14-1 Chpater 13에서 공부한 내용의 확장 Point 클래스 템플릿과 배열 클래스 템플릿 template class Point { private: T xpos, ypos; public: Point(T x=0, T y=0); void ShowPosition() const; }; template class BoundCheckArray { private: T*arr; int arrlen; BoundChecArray(const BoundCheckArray& arr){} BoundCheckArray& operator=(const BoundcheckArray& arr){} public: BoundCheckArray(int len); T& operator[] int(idx); T operator[] (int..

13-1 템플릿(Template)에 대한 이해와 함수 템플릿 템플릿의 사전적 정의는 '모형자'이다. 모형자에 넣으면 원하는 모양이 나온다. 그러나 빨간색 파란색에 대한 것은 사용자가 정한다. 함수를 대상으로 템플릿 이해하기 '함수 템플릿은 함수를 만들어 낸다. 함수의 기능은 결정되어 있지만, 자료형은 결정되어 있지 않아서 결정해야 한다.' int Add(int num1, int num2) { return num1+num2; } 함수의 기능 덧셈 대상 자료형 int형 데이터 T Add(T num1, T num2) { return num1+num2; } 함수의 기능 덧셈 대상 자료형 결정되어 있지 않음 template T Add(T num1, T num2) { return num1+num2; } temple..

표준 string 클래스 C++에서는 라이브러리가 많다. 그 중 표준 라이브러리에서 string이라는 이름의 클래스가 정의되어 있다. #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; int main(void) { string str1 = "I like "; string str2 = "stringclass"; string str3 = str1 + str2; cout

객체간 대입연산의 비밀: 디폴트 대입 연산자 복사 생성자의 특징 -정의하지 않으면 디폴트 복사 생성자가 삽입된다. -디폴트 복사 생성자는 멤버 대 멤버의 복사(얕은 복사)를 진행한다. -생성자 내에서 동적 할당을 한다면, 그리고 깊은 복사가 필요하다면 직접 정의해야 한다. 대입 연산자의 특징 -정의하지 않으면 디폴트 대입 연산자가 삽입된다. -디폴트 대입 연산자는 멤버 대 멤버의 복사(얕은 복사)를 진행한다 -연산자 내에서 동적 할당을 한다면, 그리고 깊은 복사가 필요하다면 직접 정의해야 한다. 복사 생성자는 생성되지 않은 객체에 대입 대입 연산자는 이미 초기화된 객체에 대입 int main(void) { Point pos1(5, 7); Point pos2=pos1; } 복사생성자 int main(voi..
10-1 연산자 오버로딩의 이해와 유형 operator+라는 이름의 함수 #include #include using namespace std; class Point { private: int xpos, ypos; public: Point(int x = 0, int y = 0) :xpos(x), ypos(y) {} void ShowPosition() const { cout operator++(pos); 전역함수 로 변환된다. 전위증가와 후위증가의 구분 ++pos -> pos.operator++(); pos++ -> pos.operator++(int); --pos -> pos.operator++(); pos-- -> pos.operator--(); int를 전달하면 후위증가가 가능하다. 여기서의 int는 일..
- Total
- Today
- Yesterday
- 보세사
- K-MOOC
- 정보처리기사
- stl
- 일문따
- 인프런
- c++
- 통계학
- 오블완
- 열혈프로그래밍
- 티스토리챌린지
- 여인권
- C
- 파이썬
- 심리학
- 일본어
- 뇌와행동의기초
- C/C++
- 백준
- 류근관
- 일본어문법무작정따라하기
- 코딩테스트
- 강화학습
- 윤성우
- Python
- 데이터분석
- 통계
- 인지부조화
- 회계
- 사회심리학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |