주요 차이점 : C ++은 주로 객체에 초점을 맞추는 객체 지향 언어입니다. C ++의 클래스는 단일 구조로 캡슐화 된 관련 변수 및 함수의 모음으로 정의 할 수 있습니다. 클래스의 인스턴스를 객체라고합니다. C ++의 구조는 자체 연산을 보유한 사용자 정의 데이터 형식이라고 할 수 있습니다. C 언어와 달리 둘 다 C ++과 매우 비슷합니다. 그들 사이에 존재하는 주요 차이점은 접근 수정 자에 관한 것이다. 클래스의 멤버는 기본적으로 private입니다. 반면 구조체의 멤버는 기본적으로 public입니다.
C ++의 클래스는 C 언어에서 사용되는 구조의 확장 일뿐입니다. 사용자 정의 데이터 유형입니다. 실제로 데이터와 관련 함수를 하나의 단위로 묶습니다. C 언어의 구조와 클래스는 구조가 클래스와 비교하여 기능과 기능이 제한되어 있으므로 많이 다릅니다. 반면에 C ++의 구조와 클래스는 매우 유사합니다. 주요 차이점은 기본적으로 클래스의 모든 멤버가 비공개 인 반면 기본적으로 구조의 모든 멤버는 공개된다는 사실 때문에 발생합니다.
C ++의 클래스와 구조 비교 :
수업 | 구조 | |
정의 | C ++의 클래스는 단일 구조로 캡슐화 된 관련 변수 및 함수의 모음으로 정의 할 수 있습니다. | 구조는 자체 조작을 갖는 사용자 정의 데이터 유형이라고 할 수 있습니다. |
선언의 키워드 | 수업 | 구조 |
기본 액세스 지정자 | 은밀한 | 공공의 |
예 | 클래스 myclass { 은밀한: int 데이터; 공공의: myclass (int data_) : 데이터 (data_) {} 가상 void foo () = 0; virtual ~ class () {} }; | myclass 구조체 { 은밀한: int 데이터; 공공의: myclass (int data_) : 데이터 (data_) {} 가상 void foo () = 0; virtual ~ class () {} }; |
목적 | 데이터 추상화 및 추가 상속 | 일반적으로 데이터 그룹화 |
유형 | 참고 | 값 |
용법 | 일반적으로 많은 양의 데이터에 사용됩니다. | 일반적으로 소량의 데이터에 사용됩니다. |