기본 클래스 생성자 호출
Java에서 상속 작업을 하는 동안 super()를 사용하여 슈퍼클래스 생성자를 호출할 수 있습니다. 이는 C에서 동일한 기능을 달성하는 방법에 대한 의문을 제기합니다.
구체적으로, 기본이 아닌 생성자를 사용하여 C 기본 클래스에서 상속할 때 문제가 발생합니다. 컴파일러는 종종 적절한 기본 생성자가 없다는 경고를 표시합니다.
해결책: 생성자의 초기화 목록 활용
Java와 달리 C에는 명시적인 super()가 없습니다. 기본 클래스 생성자를 호출하기 위한 구문입니다. 대신 파생 클래스의 생성자 이니셜라이저 목록에서 호출을 지정합니다. 초기화 목록은 생성자 본문 앞에 나타나며 멤버 변수를 초기화하는 데 사용됩니다.
예를 들어 문자 배열을 인수로 사용하는 생성자가 있는 다음 기본 클래스를 생각해 보세요.
class BaseClass { public: BaseClass(char *name); ... };
파생 클래스에서 기본 클래스 생성자를 호출하려면 초기화 목록에 호출을 포함하세요.
class Foo : public BaseClass { public: Foo() : BaseClass("asdf") {} };
이렇게 하면 기본 클래스 생성자가 다음과 같이 됩니다. 다른 멤버 초기화가 발생하기 전에 호출됩니다. 기본 클래스 생성자는 인수를 취하므로 멤버 변수가 초기화되기 전에 초기화 목록에 인수를 지정해야 합니다.
위 내용은 C에서 기본 클래스 생성자를 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!