728x90
반응형
질문 : C ++에서 구조체와 클래스의 차이점은 무엇입니까?
이 질문은 이미 C # /. Net 컨텍스트에서 요청되었습니다 .
이제 C ++에서 구조체와 클래스의 차이점을 배우고 싶습니다. OO 디자인에서 기술적 인 차이점과 둘 중 하나를 선택하는 이유에 대해 논의하십시오.
분명한 차이점부터 시작하겠습니다.
public:
또는private:
지정하지 않으면 구조체의 멤버는 기본적으로 public입니다. 클래스의 멤버는 기본적으로 비공개입니다.
C ++ 사양의 모호한 모서리에서 다른 차이점을 찾을 수 있다고 확신합니다.
답변
클래스와 구조체의 까다로운 두 번째 차이점을 잊었습니다.
표준 (C ++ 98에서 C ++ 11까지의 §11.2.2) :
도출 된 클래스 구조체를 선언하고 개인이 클래스는 클래스를 선언 할 때 가정하면 기본 클래스에 대한 액세스 지정자의 부재에서, 공공 가정한다.
완전성을 위해 클래스와 구조체의 더 널리 알려진 차이점은 (11.2)에 정의되어 있습니다.
키워드 클래스에 정의 된 클래스의 회원은 기본적으로 비공개입니다. struct 또는 union 키워드로 정의 된 클래스의 멤버는 기본적으로 공용입니다.
추가 차이점 : 키워드 class
를 사용하여 템플릿 매개 변수를 선언 할 수 있지만 struct
키워드는 사용할 수 없습니다.
출처 : https://stackoverflow.com/questions/92859/what-are-the-differences-between-struct-and-class-in-c
728x90
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
정렬되지 않은 배열을 처리하는 것보다 정렬 된 배열을 처리하는 것이 더 빠른 이유 (0) | 2021.07.01 |
---|---|
C ++ 코드 파일 확장자 .cc와 .cpp의 차이점 (0) | 2021.06.30 |
C ++ 표준은 초기화되지 않은 bool이 프로그램을 충돌시키는 것을 허용할까? (0) | 2021.06.27 |
최신 C ++ 11 / C ++ 14 / C ++ 17 및 향후 C ++ 20에서 열거 형 문자열 (0) | 2021.06.27 |
C ++에서 'struct'와 'typedef struct'의 차이점 (0) | 2021.06.26 |