파생 클래스 생성자에서 기본 클래스 멤버 변수를 초기화하는 방법
객체 지향 프로그래밍에서는 다음을 상속하는 파생 클래스를 갖는 것이 일반적입니다. 기본 수업. 파생 클래스에서 생성자를 생성할 때 기본 클래스에서 상속된 멤버 변수를 올바르게 초기화하는 것이 중요합니다.
다음 코드를 고려하세요.
class A { public: int a, b; }; class B : public A { B() : A(), a(0), b(0) { } };
이 예에서 파생 클래스 B 자체 생성자 내에서 멤버 변수 a와 b를 초기화하려고 시도합니다. 그러나 이는 잘못된 접근 방식입니다. 파생 클래스에서 기본 클래스 멤버 변수를 초기화하는 올바른 방법은 기본 클래스의 생성자를 사용하는 것입니다.
class A { protected: A(int a, int b) : a(a), b(b) {} // Accessible to derived classes private: int a, b; // Keep these variables private in A }; class B : public A { public: B() : A(0, 0) // Calls A's constructor, initializing a and b in A to 0. { } };
기본 클래스 생성자를 액세스 가능하게(보호 또는 공개) 만들고 파생 클래스의 생성자에서 호출합니다. , 상속된 멤버 변수를 올바르게 초기화합니다. 이 접근 방식을 사용하면 파생 클래스 코드가 실행되기 전에 기본 클래스가 적절하게 초기화됩니다.
파생 클래스에서 기본 클래스 멤버 변수를 공개로 만드는 것은(잘못된 예에서와 같이) 권장되지 않습니다. 캡슐화 원칙을 통해 보호된 데이터 또는 개인 데이터에 대한 외부 액세스를 허용합니다.
위 내용은 파생 클래스 생성자에서 기본 클래스 멤버 변수를 올바르게 초기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!