산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

구조체와 클래스의 차이점:C++ 예제로 설명

구조란 무엇입니까?

구조는 float, char, int 등과 같은 서로 다른 데이터 유형의 논리적으로 관련된 데이터 항목을 함께 결합하는 사용자 정의 데이터 유형입니다.

모든 구조 요소는 인접한 메모리 위치에 저장됩니다. 구조 유형 변수를 사용하면 다양한 데이터 유형의 데이터 항목을 하나의 이름으로 저장할 수 있습니다.

수업이란 무엇입니까?

클래스는 특정 유형의 객체를 빌드하기 위한 청사진 또는 일련의 지침입니다. 실제 개체를 중심으로 하는 객체 지향 프로그래밍의 기본 개념입니다. 프로그래밍 언어의 클래스는 개체의 동작 방식과 개체에 포함될 내용을 결정합니다.

클래스는 또한 다양한 종류의 데이터 유형과 본문 내부에 멤버 함수를 가질 수 있는 사용자 정의 데이터 유형입니다.

C++의 클래스 구문

다음은 클래스 구문입니다.

class class-name
{
// data
// functions
};

위 구문에서 클래스 이름은 클래스에 할당된 이름입니다. 데이터는 일반적으로 변수로 선언되는 클래스의 멤버입니다. 여기의 함수는 클래스 함수입니다.

C++의 구조 구문

다음은 구조의 구문입니다.

struct struct_name
{
// struct data members
}

위의 구문에서는 struct 키워드가 사용됩니다. struct_name은 구조의 이름입니다. 구조체 멤버는 중괄호 안에 추가됩니다. 이 멤버는 아마도 다른 데이터 유형에 속할 것입니다.

구조와 클래스의 차이점

다음은 구조와 클래스의 주요 차이점입니다.

구조 클래스 구조는 char, float, int 등과 같은 서로 다른 데이터 유형의 논리적으로 관련된 데이터 항목을 결합하는 사용자 정의 데이터 유형입니다. 클래스는 특정 유형의 객체를 빌드하기 위한 청사진 또는 명령 세트입니다. 구조는 struct 키워드를 사용하여 선언합니다. class 키워드를 사용하여 선언할 수 있습니다. 값 유형 데이터 유형입니다. 참조 유형 데이터 유형입니다. 다른 구조 또는 클래스에서 상속할 수 없습니다. 다른 구조 또는 클래스에서 상속할 수 있습니다. .새 키워드를 사용하지 않고 객체를 인스턴스화할 수 있습니다.새 키워드를 사용하여 객체를 인스턴스화할 수 있습니다.구조의 기본 생성자를 변경할 수 없습니다.클래스 기본 생성자를 변경할 수 있습니다.구조에는 소멸자가 있을 수 없습니다.클래스에는 소멸자가 있을 수 있습니다. 구조에서 모든 값 유형은 스택에 할당됩니다. 클래스에서 모든 값 유형은 힙에 할당됩니다. 작은 프로그램에서 사용됩니다. 큰 프로그램에서 사용됩니다. 구성원 함수는 추상 또는 가상일 수 없습니다. 구성원 함수는 추상 또는 가상일 수 없습니다. 가상 ual.Structure 인스턴스를 '구조 변수'라고 합니다. 클래스 인스턴스를 객체라고 합니다. null 값을 가질 수 없습니다. null 값을 가질 수 있습니다. 구조 멤버 변수를 직접 시작할 수 없습니다. 클래스 멤버 변수를 직접 시작할 수 있습니다. 선언하지 않은 경우 모든 액세스 지정자, 구조의 구성원은 공용입니다. 액세스 지정자를 선언하지 않은 경우 클래스의 구성원은 개인입니다.

어느 것을 선택해야 합니까?

메모리 공간이 크거나 상속과 같은 개념을 사용하려는 경우 클래스를 선택할 수 있습니다. 반면에 기본값을 초기화하는 데 필요한 작은 메모리 필드나 공간이 있는 경우 구조를 사용할 수 있습니다.

주요 차이점


C 언어

  1. C++ 클래스 및 개체
  2. C++ 다중, 다중 레벨 및 계층적 상속
  3. C++ friend 함수 및 friend 클래스
  4. 예제가 있는 C++의 연산자:정의, 유형 및 프로그램
  5. EXAMPLE이 있는 C++ Switch Case 문
  6. 예제를 사용한 C++ 배열 동적 할당
  7. 예제가 있는 C++ 구조체
  8. 예제가 있는 C++의 std::list
  9. C# 추상 클래스 자습서 예제:추상화란?
  10. while과 do-while의 차이점:예제와 함께 설명