일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 위상정렬
- 다이나믹 프로그래밍
- upper_bound
- 다음 지도 api
- BFS
- DP
- MST
- 다음 API
- 성화봉송주자
- 평창동계올림픽
- 인간이 그리는 무늬
- 백트레킹
- 그리디 알고리즘
- 외판원 순회
- 비트마스크
- BOJ 2098
- 언어의 온도
- 성화봉송
- 삼성 코딩테스트
- multiset
- 창훈쓰다
- 생활코딩
- Segment Tree
- 영어회화 100일의 기적
- 안드로이드 스튜디오
- yolo
- 이분탐색
- 캘리그라피
- lower_bound
- boj
- Today
- Total
목록코딩/교육 (36)
Hoon222y
상수 멤버 함수 : 함수 내부에서 멤버 변수의 값을 수정할 수 없는 함수를 말한다. 멤버 변수를 읽기만 하고 변경하지 않는다면 const 지정자를 붙여 상수 함수로 선언하면 된다. const 지정자를 함수명 뒤에 붙인다. 사용방법 : 리턴타입 함수명 ([매개변수, ...]) const 1234567891011121314151617181920212223#include using namespace std;class Point{public: int _x, _y; Point(int x, int y) : _x(x), _y(y){}; void set_x(int x){ _x = x; } void print() const { //이 안에서 상태값이 변경되지 않는다는 보장을 해주기 위해서 함수 뒤에 const를 붙인다...
유일한 객체를 생성하는 법1. 사용자가 객체를 임의로 생성할 수 없도록 private 영역에 정의한다. 2. 유일한 객체를 반환하는 정적 인터페이스를 제공한다. 3. 복사를 금지하기 위해서 복사 생성자를 private 영역에 정의한다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412..
정적 멤버 함수 : 객체가 아닌 클래스와 연관되어 모든 객체에 공통적인 작업을 처리한다. 정적 멤버 함수는 객체에 의해 호출되는 것이 아니어서 호출 객체인 this는 전달되지 않는다. 그래서 정적 멤버 함수는 정적 멤버만 참조할 수 있으며, 일반 멤버(비 정적 멤버)는 엑세스 할 수 없다. 일반 멤버 함수 : 객체와 함께 호출되는 방식으로 반드시 객체가 있어야 사용 가능하다. 정적 멤버 함수: C언어의 함수와 동일하되 클래스 안에 있는 전역변수이다. 전역변수이므로 객체 호출 없이 사용 가능하다.1234567891011121314151617class Clazz{public: int var; //일반 멤버 변수 static int s_var; //정적 멤버 변수 // 일반 멤버 함수 : 객체와 함께 호출되는..
정적 멤버 변수 : 클래스 바깥에 선언되지만 클래스에 소속되며, 객체별로 할당되지 않고 모든 객체가 공유한다. 정적 멤버 변수는 객체와 논리적으로 연결되어 있지만 객체 내부에 포함되지 않으며, 클래스에 소속된다. (공유 멤버라고 이해하는것이 좀 더 직관적이다. )예를들어 count 변수를 전역변수로 두어서 객체가 생성될 때 마다 count를 증가시키면서 객체의 개수를 확인한다고 가정하자. 이러한 경우에는 객체의 개수를 세는데는 문제가 없지만, 캡슐화 위반, 은폐가 불가능 등의 이유로 위험하다. 따라서 클래스 안에 해당 변수를 넣어주어야 한다. 123456789101112131415161718192021222324#include using namespace std;//int cnt; //데이터 영역 cla..
this : 객체 자신을 가리키는 포인터 상수를 의미한다. this 의 경우 멤버 함수 내에서만 사용이 가능하다. this 인수는 함수를 호출한 객체의 포인터 이며 모든 문장 앞에 this->가 암시적으로 적용된다. this 를 사용하는 이유는 1. 변수가 해당 객체의 멤버임을 알리기 위함2. 멤버 함수를 연속적으로 호출하기 위한 2가지 이유가 있다. 123456789101112131415#include using namespace std;class Int32{public: int var; //밖에서 접근할 수 있도록 하기위함 void set(int var){ var = var; //여기에서 var = 0;로 끝나는것이다. 즉 가장 가까운 곳에 할당이 됨. //해결책은 멤버 데이터의 이름을 바꾸면 된다...
12345678910111213141516171819202122//기본 생성자#include using namespace std;class Point{ int _x, _y; //사용자가 생성자를 추가하지 않으면 컴파일러가 생성자를 자동으로 추가하는데 //이를 기본생성자(default constructor)라고 한다.public: //만약 사용자가 생성자를 추가한다면 컴파일러는 기본 생성자를 추가하지 않는다. //이는 초기화되지 않은 객체 사용으로 인하여 프로그램이 불안정해지는것을 막기 위해서이다. //즉 아래에서 인자 2개짜리 하고 Point(){}를 없애면 main 문에서 Point p1은 에러가 발생한다. //원래는 따로 생성자를 안해도 Point p1은 오류 안남. Point(){} Point(in..