상속의 생성 및 소멸 순서
다음 클래스 계층 구조를 고려하세요.
struct A { A() { std::cout << "A() C-tor" << std::endl; } ~A() { std::cout << "~A() D-tor" << std::endl; } }; struct B : public A { B() { std::cout << "B() C-tor" << std::endl; } ~B() { std::cout << "~B() D-tor" << std::endl; } A a; };
인스턴스가 B가 생성됩니다(int main() { B b; }에서와 같이). 생성 및 소멸 순서는 특정 순서를 따릅니다. 규칙:
생성 순서:
이것은 다음 호출로 해석됩니다. 순서:
파기 순서:
이로 인해 다음과 같은 파괴가 발생합니다. 순서:
따라서 공사순서는 기본 클래스로 시작하여 멤버 필드로 진행하고 파생 클래스로 끝납니다. 파괴순서는 건설순서의 역순입니다.
위 내용은 C 상속의 생성 및 소멸 순서는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!