728x90
Class는 언제 사용하는가?
구조체와 관련 함수를 같이 사용하고 싶을 때
1. Constructor, 생성자
멤버변수 초기화
2. Destructor, 소멸자
프로그램 종료시 멤버변수 자동 소멸, 메모리 관리
class BSTNode {
private:
int key;
BSTNode *l, *r;
public:
BSTNode(int key=0) {
this->key = key;
this->l = NULL; this->r = NULL;
}
~BSTNode() { delete l; delete r; }
int get_key() { return key; }
void set_key(int key_changed) { this->key = key_changed; }
BSTNode* get_left() { return l; }
BSTNode* get_right() { return r; }
void set_left(int key) { this->l = new BSTNode(key); }
void set_right(int key) { this->r = new BSTNode(key); }
};
Constructor - BSTNode() { }
Destructor - ~BSTNode() { }
private
주로 멤버변수 선언
public
constructor
destructor
멤버함수
멤버변수를 get (read), set (write)
기타함수
* this의 활용:
this란?
- Class 자신을 가리키는 포인터
- Class 내부에서만 사용 가능
- 임의로 변경이 불가능한 상수 포인터이다.
- 내부에서 사용되고 있지만, 생략되어 있다. (컴파일시 자동처리)
- 활용:
1) 멤버함수의 매개변수와 매개변수가 같을 때, 이를 구분하기 위해 사용한다.
2) 함수의 반환값에서 자기 자신을 반환할 때 사용한다.
728x90
'lang > C,C++' 카테고리의 다른 글
[STL] erase (0) | 2019.09.19 |
---|---|
C++ String (#include <string>) (0) | 2019.09.03 |
[STL] priority_queue (0) | 2019.07.21 |
연산자 오버로딩 (0) | 2019.07.14 |
vector - 효율성과 편의성이 높은 array (1023) | 2019.06.24 |
댓글