C++의 구조체 생성자

Naila Saad Siddiqui 2023년10월12일
  1. C++에서 struct 소개
  2. C++의 struct 생성자
C++의 구조체 생성자

이 작은 튜토리얼에서는 struct의 사용과 C++를 사용하여 생성자를 추가하는 방법에 대해 설명합니다.

C++에서 struct 소개

‘struct’는 Structure를 의미하며 일부 기본 유형 변수를 결합한 사용자 정의 데이터 유형입니다. 이러한 변수는 혼합되어 새로운 단위를 형성합니다.

사용자 정의 이름도 있습니다. struct를 선언하는 구문은 다음과 같습니다.

struct structName {
  data - type var_1;
  data - type var_2;
  ........date - type var_N
};

위의 구문은 struct에 사용자 정의 이름과 일부 변수 집합이 있음을 나타냅니다. 이러한 변수는 기본 데이터 유형일 수도 있고 다른 사용자 정의 class 또는 struct 변수일 수도 있습니다.

struct는 모든 데이터 멤버, 멤버 함수, 생성자, 소멸자, 연산자, 이벤트 및 모든 중첩 데이터 유형을 가질 수 있습니다. struct가 선언된 후 다음과 같이 new 키워드를 사용하거나 사용하지 않고 개체를 만들 수 있습니다.

structName objectName = new structName();
OR structName objectName;

차이점은 new를 사용하여 개체를 초기화하면 기본 생성자가 호출되고 모든 데이터 멤버에 일부 값이 할당되며 new를 사용하지 않으면 데이터 멤버가 할당되지 않은 상태로 유지된다는 것입니다.

C++의 struct 생성자

생성자는 new 키워드를 사용하여 개체를 만들 때 암시적으로 호출되는 멤버 함수입니다. 이러한 멤버 함수는 struct의 데이터 멤버에 대한 값을 초기화하는 데 사용됩니다.

또한 struct에 기본 생성자와 매개변수화된 생성자를 가질 수 있습니다. 생성자 선언 구문은 다음과 같습니다.

struct structName {
  datatype var1;
  structName() { var1 = [some - value]; }
};

위의 의사 코드는 기본 생성자를 선언하는 구문을 보여줍니다. 실제 코드는 다음 예제에서 설명합니다.

struct Square {
  float sides;
  Square() { sides = 0; }
  Square(int s) { sides = s; }
};

위의 코드에서 우리는 두 개의 생성자를 선언했습니다. 하나는 기본값이고 다른 하나는 매개 변수화됩니다. struct 객체를 생성하려면:

int main() {
  Square s1 = new Square();   // default constructor called
  Square s2 = new Square(5);  // parameterized constructor called
  Square s3;                  // No constructor called
}

관련 문장 - C++ Constructor