Computer >> Máy Tính >  >> Lập trình >> C ++

Tất cả những gì được kế thừa từ lớp cha trong C ++?

Trong lập trình hướng đối tượng, chúng ta có thể kế thừa các đặc điểm của lớp cha. Lớp cha được gọi là lớp cơ sở trong khi lớp con được gọi là lớp dẫn xuất. Lớp dẫn xuất có thể kế thừa các thành viên dữ liệu, các hàm thành viên của lớp cơ sở.

Nếu các thành viên dữ liệu là công khai, chúng có thể được truy cập bởi lớp dẫn xuất, cùng lớp và bên ngoài lớp. Nếu các thành viên dữ liệu được bảo vệ, chúng chỉ có thể được truy cập bởi lớp dẫn xuất và cùng một lớp, nhưng bên ngoài lớp, chúng không thể được truy cập. Nếu các thành viên dữ liệu là riêng tư, chỉ cùng một lớp mới có thể truy cập chúng.

Đây là một ví dụ về kế thừa trong ngôn ngữ C ++,

Ví dụ

#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;
}

Đầu ra

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

Trong chương trình trên, lớp dẫn xuất đang kế thừa lớp cơ sở và các thành viên dữ liệu của nó. Đối tượng lớp dẫn xuất d được tạo và sử dụng để gọi các thành viên dữ liệu của lớp cơ sở và lớp dẫn xuất a và x. Nhưng nó không thể truy cập vào biến b và c của lớp cơ sở vì chúng được bảo vệ và riêng tư, Nó sẽ hiển thị lỗi nếu chúng tôi cố gắng truy cập chúng.

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