C++ 하위 클래스

C++ 하위 클래스

2022-06-04 last update

7 minutes reading C++
프로그래밍 언어에는 서로 다른 종류 간에 부자 관계를 생성하는 데 사용되는 계승된 개념이 있다.상속이 발생하면 하위 클래스가 나타납니다.용어인 하위 클래스는 상위 클래스의 일부 속성, 즉 기본 클래스를 상속합니다.C++ 클래스가 객체로 초기화되었음을 알아야 합니다.상속에서는 상위 클래스 대신 하위 클래스 객체만 생성합니다.하위 클래스 대상은 상위 클래스와 클래스를 실행하거나 실행하는 데 사용됩니다.

방법 01: 단순/단일 상속


우리는 단일 계승부터 시작할 것이다.그것은 하나의 하위 클래스를 포함하는데, 이 하위 클래스는 하나의 상위 클래스에서 파생될 것이다.따라서 Ctrl+Alt+T를 사용하여 케이스 끝을 엽니다.Ubuntu 20.04 시스템에 C++ 컴파일러가 구성되어 있는지 확인합니다."touch"키워드를 사용하여 "child.cc"라는 새 C++ 파일을 만듭니다.파일을 만든 후 편집기를 사용하여 파일을 열어 편집합니다.우리는 터미널 내의 편집기에서 Nano 편집기를 직접 열고 있습니다.Vim 또는 텍스트 편집기를 사용할 수도 있습니다.다음 화면 캡처에는 C++ 파일을 만들고 여는 데 사용되는 두 가지 명령이 나열되어 있습니다.

우리는 시작할 때 입력 출력 흐름을 추가했다.그 다음에 또 다른 표준 c++ 헤더가 추가되었습니다.헤더 파일 다음에 우리는 표준 이름 공간을 사용하여 코드에서 입력-출력 문장을 사용합니다.우리는 정수 형식 변수'ida'를 포함하고 다른 클래스의 모든 위치에서 접근할 수 있는'a'라는 부류를 성명했습니다.'B'라는 다른 클래스는':'기호 계승 클래스'a'를 사용하기 때문에 하위 클래스로 선언되었습니다.이 두 과목은 이곳에서 모두 공개된 것이다.하위 클래스'B'는'idb'라는 정수 형식의 공공 데이터 구성원도 포함합니다.그리고main 방법은 초기화되었습니다.이것은 하위 클래스 대상 "b"의 초기화를 포함합니다.
주의해야 할 것은 상속에서 부류가 그것을 계승할 때 부류의 대상을 만들 필요가 없다는 것이다.하위 클래스 대상 "b"는 다음 그림과 같이 상위 클래스와 하위 클래스의 공공 데이터 구성원을 초기화하고 표시하는 데 사용됩니다.이 코드를 저장하고 "Ctrl+S"및 "Ctrl+X"를 통해 파일을 종료합니다.

셸에서 GCC 컴파일러를 사용하여 C++ 코드를 컴파일합니다.번역에 성공하다.수행한 결과 상위 ID 및 하위 클래스 ID:

방법 02: 다중 계승


다중 계승의 예부터 시작합시다.Nano 편집기에서 코드 파일 "child.cc"를 다시 엽니다.헤더 파일과 표준 이름 공간은 변하지 않습니다.우리는 두 개의 부류 A와 B를 설명했는데, 각 부류에는 구조 함수, 즉 A()와 B()가 포함되어 있다.이 두 구조 함수는 인쇄에 사용되는 표준cout 문장을 포함하고 현재 클래스를 알려 줍니다.':'기호를 사용하여 상위 클래스 A와 B를 상속하는 하위 클래스 C가 표시됩니다.이런 것은 어떠한 실현도 포함하지 않는다.클래스 초기화와 성명 후,main 방법을 사용했습니다.main () 함수는 하위 클래스 C 객체의 초기화, 즉 "obj"를 포함합니다.이 객체를 작성하면 상위 클래스의 두 구조 함수, 즉 A와 B가 자동으로 실행됩니다.구조 함수는 어떤 함수도 호출할 필요가 없기 때문에 클래스 대상을 만들 때 자동으로 실행됩니다.
따라서 구조 함수의 두 개의cout 문장은 셸에서 출력됩니다.업데이트된 코드를 저장하고 Ctrl+S 및 Ctrl+X 키를 눌러 셸로 돌아갑니다.

이 코드를 컴파일하면 이상이 발생하지 않습니다.그래서 지금까지 어떤 잘못도 발견되지 않았다.예상대로 출력을 표시합니다.두 print 문장은 모두 셸에 표시됩니다. 즉, 상위 A와 B의cout 문장입니다.

방법 03: 다단계 계승


이런 계승에서 하나의 하위 클래스를 파생시키고 다른 클래스를 하위 클래스 자체로 사용한다.그래서 우리는 Nano 편집기에서 같은 코드 파일을 열었습니다.헤더 파일은 변하지 않습니다.우리는 이미 세 가지 클래스, 즉 A, B, C를 성명했다. C클래스는 부류 B의 자류이고, B클래스는 부류 A의 자류이다. A클래스만 다른 클래스로부터 계승되지 않는 클래스이다.모든 세 종류는 구조 함수를 포함하고 있으며, 그것들은cout 문장을 사용하여 클래스에 따라 셸에 관련 메시지를 표시합니다.C클래스가 생성된 객체는 상위 클래스 B의 구조 함수를 실행하고 상위 클래스 A의 구조 함수를 수행합니다.

컴파일하고 실행한 후에, 우리는 이미 하위 클래스 C의 단일 대상을 사용하여 세 종류의 구조 함수에서 모든cout 문장을 실행했다. 예를 들어obj:

방법 04: 차원 계승


한 종류가 여러 개의 하위 종류를 파생할 때 계승을 차원 계승이라고 할 수 있다.그래서 우리는 코드를 약간 업데이트했다.하위 클래스 B 및 C는 아래 이미지 코드에서 상위 클래스 A에서 파생됩니다.두 개의 하위 클래스가 있기 때문에 두 개의 대상도 있다.객체 "objb"는 하위 클래스 B입니다. 상위 클래스 A와 하위 클래스 B를 동시에 실행하는 구조 함수입니다. 대상 "objc"는 하위 클래스 C입니다. 상위 클래스 A와 하위 클래스 B를 동시에 실행하는 구조 함수입니다. 따라서 상위 구조 함수는 여기에서 두 번 실행되었습니다.

업데이트된 파일을 실행한 후에 우리는 네 줄의 예상 결과를 얻었다.

메서드 05: 혼합/다중 경로 상속


혼합 또는 다중 경로 계승은 한 상황에서 여러 유형의 계승을 통합하여 실현할 수 있다.우리는 예시 코드에 단순/단일 계승, 다중 계승과 다중 계승을 추가했다.이 네 가지 클래스 중에서 클래스 C는 클래스 A에서 계승되며 간단/단일 계승을 나타낸다.클래스 D는 B 클래스와 C 클래스의 파생물로 여러 개의 계승이 있다.클래스 C는 이미 클래스 A에서 계승되었기 때문에'D->C->A'는 다단계 계승의 설명이 된다.하위 클래스 d인 "d"객체만 생성되었습니다.

파일을 컴파일하고 실행하면 다음과 같은 출력이 표시됩니다.

결론:


본고에서 우리는 서로 다른 유형의 계승을 사용하는 동시에 C++ 하위 클래스를 실현했다.우리는 처음부터 하위 클래스를 어떻게 만들고 사용하는지에 대한 간단한 계승 예시를 보여 주었다.모든 다른 계승 예시에서 우리는 하위 클래스를 완전히 이해할 수 있도록 더욱 효과적으로 보여 주었다.우리는 이 글이 모든 C++의 천진한 사용자들에게 도움이 되기를 바란다.자세한 내용은 Linux 프롬프트를 참조하십시오.