Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 언제 클래스와 구조체를 사용해야 합니까?


구조와 클래스는 몇 가지 차이점을 제외하고 C++에서 매우 유사합니다. 따라서 C++에서 클래스나 구조체를 언제 사용할지 결정하는 데 도움이 되는 이러한 차이점에 대한 세부 정보가 아래에 나와 있습니다.

클래스와 구조의 차이점

클래스의 모든 구성원은 기본적으로 비공개입니다. 이는 구조의 모든 구성원이 기본적으로 공개되기 때문에 구조와 다릅니다.

C++에서 클래스를 보여주는 프로그램은 다음과 같습니다 -

예시

#include <iostream>
using namespace std;
class Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   return 0;
}

이 프로그램은 val이 기본적으로 private이므로 obj를 사용하여 직접 액세스할 수 없으므로 오류가 발생합니다.

C++에서 구조를 보여주는 프로그램은 다음과 같습니다 -

예시

#include <iostream>
using namespace std;
struct Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   cout<<"Value is: "<<obj.val;
   return 0;
}

출력

위 프로그램의 출력은 다음과 같습니다 -

Value is: 20

위의 프로그램은 val이 기본적으로 공개되어 있으므로 올바르게 작동하므로 obj를 사용하여 직접 액세스할 수 있습니다.

클래스와 구조체의 또 다른 차이점은 상속 중에 분명합니다. 클래스를 상속할 때 기본 클래스의 액세스 지정자는 기본적으로 private입니다. 이에 비해 구조체를 상속할 때 기본 구조체의 접근 지정자는 기본적으로 public입니다.