C++에서 상속 생성자란?

C Eseo Sangsog Saengseongjalan



C++에서는 계승 객체 지향 프로그래밍의 핵심 개념입니다. 파생 클래스는 강력한 기능 덕분에 기본 클래스의 특성과 동작을 상속할 수 있습니다. 계승 C++의 기능. 파생 클래스는 형성되는 즉시 기본 클래스의 모든 멤버를 상속합니다. 파생 클래스 생성자는 기본 클래스 멤버도 초기화해야 합니다. C++에서는 계승 개발자가 코드를 재사용하고 효율성을 개선하며 코드를 논리적 계층으로 구성할 수 있는 강력한 기능입니다.

C++에서는 상속과 함께 생성자도 필수적입니다. ㅏ 건설자 개체의 속성을 초기화할 수 있는 고유한 멤버 함수입니다. 안 상속 생성자 파생 클래스가 상속한 기본 클래스와 파생 클래스 개체를 모두 초기화하는 데 사용되는 생성자입니다. 그만큼 상속 생성자 상속된 기본 클래스 멤버와 파생 클래스 멤버를 모두 초기화합니다. 이를 위해 생성자는 기본 클래스의 생성자를 호출하여 기본 클래스에서 상속된 멤버를 포함하여 파생 클래스의 모든 멤버가 적절하게 초기화되도록 합니다.

기본 클래스의 생성자를 호출하고 필요한 매개변수를 전달하면 상속 생성자 기본 클래스의 멤버를 초기화합니다. 이것은 다음을 사용하여 수행됩니다. '기본 클래스(인수)' 생성자의 초기화 목록. 파생 클래스에 특정한 추가 지침은 생성자 본문에 제공됩니다.







구문 상속 C++의 클래스는 다음과 같습니다.



수업 파생 클래스 : accessSpecifier BaseClass {
// 클래스 멤버
} ;

이 경우에 형성되는 새로운 클래스, '파생 클래스', 에서 상속됩니다 '베이스 클래스'. 상속된 구성원에 대한 액세스 수준은 ' 액세스 지정자”. C++는 세 가지 유형의 액세스 지정자를 사용합니다. '공개', '비공개', 그리고 '보호' . 단어 '공공의' 파생 클래스가 기본 클래스의 공용 멤버에 액세스할 수 있음을 나타냅니다. 파생 클래스는 기본 클래스의 멤버에 액세스할 수 없습니다. '사적인' 지정자. 파생 클래스는 하위 클래스에서 상속할 수 있는 보호된 기본 클래스 멤버에 액세스할 수 있습니다. '보호' 지정자.



C++에서 상속의 예

다음 예는 구현을 보여줍니다. 계승 C++에서:





#include
사용 네임스페이스 성병 ;

수업 동물 {
공공의 :
무효의 먹다 ( ) {
쿠우트 << '먹을 수 있어!' << ;
}
무효의 ( ) {
쿠우트 << '나는 잘 수있다!' << ;
}
} ;
수업 고양이 : 공공의 동물 {
공공의 :
무효의 야옹 ( ) {
쿠우트 << '야옹 할 수 있어!' << ;
}
} ;
정수 기본 ( ) {
고양이 고양이1 ;
고양이1. 먹다 ( ) ;
고양이1. ( ) ;
고양이1. 야옹 ( ) ;

반품 0 ;
}

주어진 코드는 두 개의 클래스를 정의합니다. '동물' 그리고 '고양이' , 어디 '고양이' 에서 파생됩니다 '동물' . 두 클래스 모두 다음과 같은 멤버 함수가 있습니다. '먹다', '자다' , 그리고 '야옹' . main 함수는 클래스의 객체를 생성합니다. '고양이' 그리고 호출 물려받은 클래스의 함수 '동물' 뿐만 아니라 클래스의 특정 기능 '고양이' , 이것은 '야옹' . 프로그램은 고양이가 먹고, 자고, 울 수 있음을 나타내는 텍스트를 콘솔에 출력합니다.

산출



클래스가 파생되면 기본 클래스의 모든 멤버 변수와 멤버 함수가 파생 클래스로 전송됩니다. 그만큼 물려받은 파생 클래스에서 멤버의 액세스 가능성은 액세스 지정자에 의해 결정됩니다. 파생 클래스는 이미 존재하는 기능을 새로운 기능으로 대체할 수도 있습니다. 기본 클래스의 메서드에 대한 새로운 구현을 추가하고 새 멤버 함수 및 변수를 추가할 수 있습니다.

다음을 기억하는 것이 중요합니다. 상속 생성자 기본 클래스에 기본 생성자가 있거나 사용할 수 없는 경우 필요한 매개 변수를 사용하여 기본 클래스의 생성자를 명시적으로 호출하는 데 사용해야 합니다.

결론

의 강력한 특징 계승 C++에서는 클래스가 다른 클래스의 특성과 작업을 상속하여 코드를 재사용할 수 있습니다. C++의 유용한 기능 상속 생성자 파생 클래스가 기본 클래스의 속성, 메서드 및 데이터 멤버를 상속할 수 있습니다. 기본 클래스 생성자에 대한 초기화 목록이 추가되어 표준 생성자와 동일한 구문을 사용하여 정의됩니다. C++ 프로그래머는 다음을 활용하여 코드 중복을 최소화하고 코드 구조를 향상시킬 수 있습니다. 상속 생성자 . 객체 지향 프로그래밍에서 복잡한 클래스 계층 구조를 만드는 데 중요한 도구입니다.