Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 부모 클래스에서 상속되는 모든 것은 무엇입니까?

<시간/>

객체 지향 프로그래밍에서는 부모 클래스의 특성을 상속받을 수 있습니다. 부모 클래스를 기본 클래스라고 하고 자식 클래스를 파생 클래스라고 합니다. 파생 클래스는 기본 클래스의 멤버 함수인 데이터 멤버를 상속할 수 있습니다.

데이터 멤버가 공용인 경우 파생 클래스, 동일한 클래스 및 클래스 외부에서 액세스할 수 있습니다. 데이터 멤버가 보호되면 파생된 동일한 클래스에서만 액세스할 수 있지만 클래스 외부에서는 액세스할 수 없습니다. 데이터 멤버가 비공개인 경우 동일한 클래스만 액세스할 수 있습니다.

다음은 C++ 언어에서 상속의 예입니다.

예시

#include <bits/stdc++.h>
using namespace std;
class Base {
   public: int a;
   protected: int b;
   private: int c;
};
class Derived : public Base {
   public: int x;
};
int main() {
   Derived d;
   d.a = 10;
   d.x = 20;
   cout << "Derived class data member vale : " << d.x << endl;
   cout << "Base class data member value : " << d.a << endl;
   return 0;
}

출력

Derived class data member vale : 20
Base class data member value : 10

위의 프로그램에서 파생 클래스는 기본 클래스와 해당 데이터 멤버를 상속합니다. 파생 클래스 개체 d가 만들어지고 기본 및 파생 클래스 a 및 x의 데이터 멤버를 호출하는 데 사용됩니다. 그러나 기본 클래스의 변수 b와 c는 보호되고 비공개이므로 액세스할 수 없습니다. 액세스하려고 하면 오류가 표시됩니다.

Derived d;
d.a = 10;
d.x = 20;