노무현 전 대통령 서거 - 삼가 고인의 명복을 빕니다


'C++'에 해당되는 글 2건

  1. 2008.09.09 C++에서 class와 struct의 차이 (1)
  2. 2008.08.12 How to mix C and C++ (Part of C++ FAQ Lite)
2008.09.09 10:36

C++에서 class와 struct의 차이

우연찮게 다음과 같은 블로그 포스팅을 보게 되었다.
(http://nether.egloos.com/1802229)

그런데 밑에 달린 덧글 중에, "C++에서 class와 struct의 차이점에 대해서 물어보세요"라는 덧글이 있었다.

그 덧글에 달린 덧글들이 가관이었는데,

대충 보면 이렇다.

; 구조체는 자료의 집합이고, 클레스는 자료만이 아닌 메소드(행동)도 같이 있는게 차이점이려나요?
- 그렇지 않다. 구조체나 클래스나 멤버 변수와 메소드를 다 가질 수 있다. (C의 struct는 메소드 없음)

; 구조체도 내부에 함수를 가질 수 있는 것으로 알고 있습니다..
- 맞다.

; 구조체와 클래스가 틀린 것은, 캡슐화가 가능하고(Private 및 friend 등),
  상속 가능한 객체라는 점으로 알고 있습니다..
- 캡슐화가 가능하다는 건 맞다.
- C++의 struct는 상속 가능하다.

; 클래스는 레퍼런스 타입이라서 Heap 영역에 자리잡고,
  구조체(Struct)는 밸류 타입으로 Stack 영역에 자리잡는 것으로 알고 있습니다.
- 뭐래. (이건 다른 블로그 찾아보니, C#에서 struct와 class의 특징이라고 하는군.)

하지만, C++ 표준에 따르면 class와 struct의 차이는 다음과 같다.
"struct의 모든 멤버 변수와 메소드의 접근자가 public이라는 점을 제외하면 class와 struct는 동일하다."

하여튼 뭐든 기초가 중요하다. 이런 걸 가지고 명확한 답을 내지 못해서야 원.
나도 아직 멀었다.

신고
Trackback 0 Comment 1
2008.08.12 12:57

How to mix C and C++ (Part of C++ FAQ Lite)

C++로 만든 라이브러리를 C 프로그램에서 가져다 쓸 수 있는 방법에 대한 FAQ 문서
http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html

전체 C++ FAQ Lite 경로는 다음과 같다.
http://www.parashift.com/c++-faq-lite/index.html

신고
Trackback 0 Comment 0


티스토리 툴바