본문 바로가기
lang/C,C++

Class

by Wordbe 2019. 6. 8.
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

댓글