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
}