Computer/C/C++

구조체, 클래스

고양이는생선을좋아해 2013. 5. 19. 23:42

 

- 서로 밀접하게 관련된 여러 값이 모여서 동실 대상의 정보가 될 때는

  따로 분리하여 저장하는 것보다 관련된 값들을 하나의 단위로 묶어서

  관리 하는 것이 편하다.

 

 

구조체

C에서의 구조체

 

typedef struct

{

자료형 변수1

자료형 변수2

       ....

자료형 변수n

}구조체명;

 

 

struct 구조체명 변수명; // 선언

C++에서의 구조체

 

struct  구조체명

{

자료형 변수1

자료형 변수2

       ....

자료형 변수n

};

 

구조체명 변수명;   // 선언

 

클래스

class 클래스명

{

접근지정자:

자료형 변수1

자료형 변수2

....

자료형 변수n

접근지정자:

생성자

소멸자

함수1

함수2

           ....

}; 

 

접근지정자 = Private, Public, Protected.

 

 

* 구조체와 클래스 차이점

 

크게 사용법의 차이는 없으나 c++의 클래스를 c의 구조체의 확장판으로 보면된다.

구조체의 멤버는 기본적으로 외부에 개방되는 public 속성을 가지게 되지만 클래스의 멤버는 명시적인 지정없이는 외부와 단절되는 private 속성을 가지게 된다. 

C++의 키워드로 struct를 계속 남겨두는 이유는 C코드와 호환성을 유지하기 위한 것이다.