在C++中,protected關鍵字用于聲明類的成員屬性和方法,這些成員可以被類的派生類訪問,但是不能被類的對象直接訪問。
在使用protected關鍵字時,可以在類的內部和派生類中訪問被聲明為protected的成員。示例如下:
class Base {
protected:
int protectedVar;
public:
Base() {
protectedVar = 10;
}
void printProtectedVar() {
cout << "Protected Variable: " << protectedVar << endl;
}
};
class Derived : public Base {
public:
void modifyProtectedVar() {
protectedVar = 20;
cout << "Modified Protected Variable: " << protectedVar << endl;
}
};
int main() {
Base obj;
obj.printProtectedVar(); // 在類的成員函數中訪問protected成員
Derived derivedObj;
derivedObj.modifyProtectedVar(); // 在派生類的成員函數中訪問protected成員
return 0;
}
在這個示例中,Base類中聲明了一個protected成員變量protectedVar,并且定義了一個成員函數printProtectedVar來訪問該成員變量。Derived類繼承自Base類,并且定義了一個成員函數modifyProtectedVar來修改protectedVar的值。在main函數中,分別創建了Base類的對象obj和Derived類的對象derivedObj,并調用了對應的成員函數來訪問和修改protected成員。