C의 생성자 체이닝
한 생성자가 본문 내에서 다른 생성자를 호출하는 생성자 체이닝은 초기화를 위한 C#의 일반적인 관행입니다. 다양한 매개변수를 가진 객체. C에는 위임 생성자라는 유사한 기능이 있습니다.
C 11 이상
C 11 이상 버전에서는 위임 생성자를 사용하여 생성자 연결을 구현할 수 있습니다. 구문은 다음과 같습니다.
class Foo { public: Foo(char x, int y); Foo(int y) : Foo('a', y) {} };
Foo(int y) 생성자는 x의 기본값을 사용하여 Foo(char x, int y) 생성자를 호출합니다.
C 03 및 이전 버전
C 03은 위임 생성자를 지원하지 않습니다. 그러나 시뮬레이션 방법에는 두 가지가 있습니다.
class Foo { public: Foo(char x, int y = 0); // combines constructors (char) and (char, int) // ... };
class Foo { public: Foo(char x); Foo(char x, int y); // ... private: void init(char x, int y); }; Foo::Foo(char x) { init(x, x + 7); // ... } Foo::Foo(char x, int y) { init(x, y); // ... } void Foo::init(char x, int y) { // ... }
위 내용은 C에서 생성자 연결은 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!