Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Truy cập thành viên protected trong lớp dẫn xuất C++


Một lớp trong C++ có các phần public, private và protected chứa các thành viên tương ứng. Các thành viên protected trong lớp tương tự như private vì chúng không thể 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 (derived classes) hoặc lớp con, trong khi private thì không.

Chương trình dưới đây minh họa truy cập thành viên dữ liệu protected trong lớp dẫn xuất C++.

Ví dụ

#include <iostream>
using namespace std;

class Base {
protected:
    int num = 7;
};

class Derived : public Base {
public:
    void func() {
        cout << "Giá trị của num là: " << num;
    }
};

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

Kết quả

Giá trị của num là: 7

Hãy hiểu chương trình trên.

Trong lớp Base, thành viên dữ liệu là num là protected. Lớp Derived kế thừa Base. Hàm func() in giá trị của num.

class Base {
protected:
    int num = 7;
};
class Derived : public Base {
public:
    void func() {
        cout << "Giá trị của num là: " << num;
    }
};

Trong hàm main(), đối tượng obj của lớp Derived được tạo. Sau đó hàm func() được gọi.

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