Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ 구조체 생성자 이해:목적, 구문 및 사용법

C++ 구조체 생성자 이해:목적, 구문 및 사용법

생성자는 클래스 유형의 객체와 구조체를 초기화하는 데 사용되는 필수 멤버 함수라고도 합니다. 다른 프로그래밍 언어와 마찬가지로 생성자는 C++에서도 사용됩니다. 초기화되지 않았거나 정의되지 않은 구조 동작을 피하기 위해 특정 방법으로 객체를 생성하는 데 사용됩니다.

이 가이드에서는 다음에 대해 설명합니다:

  • C++의 '구조체' 생성자란 무엇인가요?
  • C++에서 생성자 정의 시 핵심 사항
  • C++의 "struct" 생성자 구문
  • C++에서 "struct" 생성자 작업
  • C++의 기본 "struct" 생성자
  • C++의 매개변수화된 'struct' 생성자
  • C++에서 구조 생성자에 대한 포인터를 만드는 방법은 무엇입니까?
  • 최하위

C++에서는 "구조체 ”는 구조체 내의 특수 함수 멤버인 구조체로 알려져 있습니다. "struct" 생성자는 멤버 변수를 초기화하고 사용자가 단일 위치에서 혼합 데이터 유형으로 구성된 새로운 변수 그룹을 만들 수 있도록 하는 데 사용됩니다. 간단히 말해서, “구조체 ” 생성자는 사용자가 클래스에 대한 객체를 선언할 때마다 자동으로 호출되는 특정 메서드입니다.

C++에서 생성자 정의 시 핵심 사항

C++에서 생성자를 정의하는 데 필요한 몇 가지 핵심 사항은 다음과 같습니다.

  • 생성자는 항상 자신이 속한 클래스와 동일한 이름을 갖습니다.
  • 사용자가 생성자를 제공하지 않으면 기본 생성자가 생성됩니다.
  • 생성자는 입력/출력 작업보다는 초기화에 사용됩니다.
  • 연산자의 도움을 받아 런타임 시 메모리를 찾는 데 사용됩니다.
  • 가상 및 정적으로 선언할 수 없습니다.
  • 사용자는 둘 이상의 생성자를 선언할 수 있습니다(오버로드될 수 있음).

C++의 "struct" 생성자 구문

구조체 생성자의 일반적인 구문을 확인해 보겠습니다:

struct 구조-이름{
d_type 변수1;
d_type 변수2;
........
........

//매개변수 생성자 없음
구조-이름()
{
//코드
}

//매개변수 생성자를 사용하여
구조-이름(d_type 변수1, d_type 변수2,..)
{
//코드
}

};

위에서 설명한 구문에 따르면:

  • 구조 이름 ”는 사용자가 선호하는 구조 이름으로 대체되며 “struct ” 키워드입니다.
  • d_type 변수1 ”는 다양한 데이터 유형을 갖는 변수 이름을 나타냅니다.
  • 그런 다음 '구조 이름() ” 생성자는 매개변수 없이 정의됩니다.
  • 다음으로, “Structure-Name(d_type 변수1,…)과 같은 매개변수화된 생성자의 구문도 정의되었습니다. ”는 매개변수화된 생성자를 나타냅니다.

참고 :“struct” 선언은 C++의 클래스 선언과 동일합니다.

C++의 "struct" 생성자 작업

C++에서 사용자는 요구 사항에 따라 매개 변수 없이 또는 매개 변수와 함께 구조체 생성자를 사용할 수 있습니다. 더 나은 이해를 위해 다음 코드 데모를 확인해 보겠습니다.

C++에서 기본 “struct” 생성자 만들기

C++에서 기본 구조체 생성자를 만들려면 다음 코드 블록을 확인하세요.

#include
네임스페이스 std를 사용;

구조체 포크{
   문자열 이름;
   플로트 높이;
   나이;

민속(){
   이름="데이비드";
   높이 =6.7;
   나이 =26세;
   cout<<"이름:"<<이름<     }
};

정수 메인()
{
   민속();
}

위에 제공된 코드 블록에서:

  • 처음에는 '# include '을 추가했습니다. 입출력 스트림 라이브러리를 헤더 파일로 사용합니다.
  • 다음으로 “네임스페이스 표준 사용”을 사용했습니다. 표준 라이브러리 식별자 사용을 활성화합니다.
  • 나중에 “folk()”를 만들었습니다. "이름과 같이 서로 다른 데이터 유형을 가진 세 개의 멤버가 있는 구조 ”를 문자열로, “높이 ”를 float로, “age ”를 각각 정수 유형으로 사용합니다.
  • 그런 다음 구조체의 생성자를 추가하고 해당 값으로 멤버를 초기화했습니다. 생성자 본문 내에서 민속 구조의 데이터를 정의하고 "cout ” 문을 사용하여 콘솔에 결과를 표시합니다.

출력

C++에서 매개변수화된 "struct" 생성자 만들기

C++에서 매개변수화된 생성자를 생성하려면 아래 코드를 사용해 보세요:

#include
네임스페이스 std를 사용;

구조체 포크{
   문자열 이름;
   플로트 높이;
   나이;

folk(문자열 x, 부동 소수점 y, 정수 z){
   이름 =x;
   높이 =y;
   나이 =z;
   }
};

정수 메인()
{
    folk f1("Ayzel", 5.1, 23);
    cout<<"이름:" < }

여기:

  • 이전에 논의한 예를 확장하고 변수를 해당 데이터 유형과 함께 매개변수로 생성자에 전달했습니다(예:'x) "를 문자열로 "y ”를 부동 소수점으로, “z ”를 정수로 표현합니다.
  • 마지막으로 'main() 내부 ” 함수를 사용하여 “f1이라는 개체를 만들었습니다. ” 그리고 값을 사용하여 생성자를 호출했습니다. 그런 다음 "cout을 활용합니다. ” 문을 사용하여 변수의 결과 값을 콘솔에 인쇄합니다.

출력

C++ 구조체 생성자 이해:목적, 구문 및 사용법

C++에서 구조 생성자에 대한 포인터를 만드는 방법

포인터는 객체의 메모리 주소를 저장하는 데 사용되는 변수입니다. C++에서 포인터는 배열의 요소나 기타 데이터 구조를 반복하는 등 다양한 목적에도 사용됩니다. 구조체와 같은 사용자 정의 유형에 대해서도 포인터 변수가 생성됩니다. 구조에 대한 포인터를 생성하기 위해 제공된 예제를 살펴보겠습니다:

#include
#include
네임스페이스 std를 사용;

민속 구조
{
  문자열 이름;
  나이;
};

정수 메인(){
      struct folk f ={"엘리스", 28};
      구조체 포크 *ptr;
      ptr =&f;
      cout <     cout <이름 <나이 <     0을 반환합니다.
}

위에 제공된 코드에서:

  • 을 추가했습니다. 및 헤더 파일.
  • 그런 다음 '네임스페이스 std 사용'을 지정했습니다. 표준 라이브러리 식별자 사용을 활성화합니다.
  • 다음으로 “folk()”를 만들었습니다. "이름과 같이 서로 다른 데이터 유형을 가진 두 개의 멤버가 있는 구조 ”를 문자열로, “age ”를 각각 정수 유형으로 사용합니다.
  • 나중에 "ptr 포인터를 정의했습니다. ”를 “사람들에게 ” 구조.
  • 이제 포인터 "ptr을 만들었습니다. ”를 사용하여 “f를 가리킵니다. ” 구조 변수. 결과적으로 "ptr ”는 이제 구조 변수 “f”의 주소를 저장합니다. ".
  • 마지막으로 '-> ” 연산자를 사용하여 해당 구조에 대한 포인터를 활용하여 구조의 구조 멤버의 데이터 멤버에 액세스합니다.

위에서 설명한 코드의 출력은 다음과 같습니다.

C++ 구조체 생성자 이해:목적, 구문 및 사용법

최종

C++에서는 "구조체 ”는 멤버 변수를 초기화하고 사용자가 한 곳에서 혼합 데이터 유형으로 구성된 새로운 변수 그룹을 만들 수 있도록 하는 구조체 내의 특수 멤버 함수인 구조로 알려져 있습니다. 사용자는 매개변수 생성자를 사용하거나 사용하지 않고 정의할 수 있습니다. C++에서는 구조체와 같은 사용자 정의 유형에 대해서도 포인터 변수가 생성됩니다. 우리는 C++의 구조체 생성자에 대한 자세한 정보를 보여주었습니다.

작가 소개

C++ 구조체 생성자 이해:목적, 구문 및 사용법

마리아 나즈

저는 컴퓨터 과학 석사 학위를 갖고 있습니다. 나는 내 일에 열정을 갖고 새로운 기술을 탐구하고 프로그래밍 언어를 배우며 내 지식을 세상과 공유하는 것을 좋아합니다.