본문 바로가기

잡다한 IT/참고용

C와 C++ 구조체, 클래스

C에서의 구조체와 C++ 에서의 구조체에는 차이점이 존재한다.


C의 구조체에서는 함수를 구조체 멤버로 사용할 수 없다.


하지만 C++의 구조체에서는 함수를 구조체 멤버로 사용할 수 있다.


또한 C++ 구조체에서는 typedef 를 따로 선언하지 않아도, struct 키워드를 생략할 수 있다. 또한 접근 지시자, 상속, 생성자, 소멸자도 선언


이 가능하다.


이처럼 C++ 에서의 구조체는 C++ 의 클래스와 거의 비슷한 기능을 수행할 수 있다.



그렇다면 C++ 에서 구조체와 클래스의 차이는 무엇일까?


일단 구조체에서는 지시 접근자 선언이 기본 public 으로 선언이 되어 있다. 하지만 클래스에서는 기본이 private 으로 선언되어진다.




구조체와 클래스는 사실상 거의 같은 기능을 수행하는데 구조체가 남아있는 이유는 C++이 C 와의 하위 호완성을 위해서 남


겨둔 것 같다.

반응형

'잡다한 IT > 참고용' 카테고리의 다른 글

컴파일 과정  (0) 2018.07.10
volatile , restrict  (0) 2018.07.09
new 와 malloc 의 차이점  (0) 2018.06.19
함수 포인터를 사용하는 이유?  (0) 2018.06.18
char* 와 char[] 의 차이점  (0) 2018.06.18