안녕 세상아,

[c++/클래스] 클래스의 생성자와 소멸자 본문

c++ 개념

[c++/클래스] 클래스의 생성자와 소멸자

돈 많은 백수가 되고싶다 2024. 10. 1. 22:54

클래스는 구조체와 함수를 묶은 개념이다.

클래스는 크게 두가지로 구분할 수 있다. 속성은 멤버 변수 또는 필드이고 행위는 멤버 함수 또는 메소드라고 불린다. 멤버 변수는 구조체와 쓰임이 같다.

클래스에서는 접근 지정자를 선택할 수 있다. Private은 내부 전용이고 클래스 외부에서 접근할 수 없다. 보통 멤버 변수와 함께 쓰인다. Protected는 클래스 상속을 위한 접근 지정자이다. 자식 클래스까지 접근 허용하지만 private과 같이 클래스 외부에서 접근할 수 없다. 마지막으로 Public이 있는데 누구나 접근 가능하다. 보통 멤버 함수와 함께 쓰인다.

class 클래스 이름 {

 private :

   멤버 변수 1;

   멤버 변수 2;

    ...

 public :

   생성자;

   소멸자;

   멤버 함수 1;

   멤버 함수 2;

    ...

}; // 세미 콜론 필수

 

생성자는 객체를 생성하기 위해서는 무조건 호출되어야 한다. 초기화 함수라고도 하며 클래스명과 동일한 함수로 쓴다. 만약 클래스 이름이 Name이라면 Name() 이라고 쓰면 된다.

소멸자는 객체가 소멸될 때 호출되는 함수이다. 생성자와 같이 클래스명과 동일한 함수로 쓴다. 클래스 이름이 Name 이라면 ~Name() 이라고 쓴다.

클래스 전용 멤버는 클래스 내에서만 사용할 수 있다.

클래스를 구현할 때 멤버 함수 선언만 클래스 내부에서하고 멤버 함수 body는 분리해서 쓸 수 있다. 보통 멤버 함수 body 양이 많은 경우에 사용한다. 보통 내부에서 .cpp로 쓰고 분리해서 사용할 때는 .h를 사용한다. 내부에서 코딩할 때 맨 윗줄에 #include "Complex(분리한 body 이름).h"를 쓰고 사용한다. 사용할 때는 멤버함수가 속하는 클래스명을 표기한다. ex) Complex:: 함수 이름()

'c++ 개념' 카테고리의 다른 글

[c++/알고리즘] next_permutation (순열)  (1) 2024.10.22
[c++/알고리즘] transform 사용법  (1) 2024.10.17
모듈로 연산이란? (feat. %)  (0) 2024.09.22
[c++/알고리즘] 투포인터  (0) 2024.09.21
[c++] 단락 평가  (1) 2024.08.30