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

Truy cập các thành viên được bảo vệ trong một lớp dẫn xuất C ++


Một lớp trong C ++ có các phần công khai, riêng tư và bảo vệ chứa các thành viên lớp tương ứng. Các thành viên được bảo vệ trong một lớp cũng tương tự như các thành viên riêng tư vì chúng không thể bị truy cập từ bên ngoài lớp. Nhưng chúng có thể được truy cập bởi các lớp dẫn xuất hoặc lớp con trong khi các thành viên private thì không thể.

Một chương trình chứng minh việc truy cập các thành viên dữ liệu được bảo vệ trong một lớp dẫn xuất trong C ++ được đưa ra như sau -

Ví dụ

#include <iostream>
using namespace std;
class Base {
   protected :
   int num = 7;
};
class Derived : public Base {
   public :
   void func() {
      cout << "The value of num is: " << num;
   }
};
int main() {
   Derived obj;
   obj.func();
   return 0;
}

Đầu ra

Kết quả của chương trình trên như sau.

The value of num is: 7

Bây giờ, chúng ta hãy hiểu chương trình trên.

Trong lớp Cơ sở, thành viên dữ liệu là num được bảo vệ. Lớp Derived kế thừa lớp Base. Hàm func () in ra giá trị của num. Đoạn mã cho điều này được đưa ra như sau.

class Base {
   protected :
   int num = 7;
};
class Derived : public Base {
   public :
   void func() {
      cout << "The value of num is: " <<< num;
   }
};

Trong hàm main (), đối tượng obj của lớp Derived được tạo. Khi đó hàm func () được gọi. Đoạn mã cho điều này được đưa ra như sau.

int main() {
   Derived obj;
   obj.func();
   return 0;
}