`protected` — C++ Keyword
`protected` — C++ Keyword
The protected keyword in C++: restricts member access to the class and its derived classes.
`protected` — C++ Keyword
The protected keyword in C++: restricts member access to the class and its derived classes.
Use reference pages to confirm names, categories, nearby facilities, and the constraints that matter before writing or reviewing code.
protectedDeclares that members are accessible within the class itself and by derived classes, but not from external code.
class Name {
protected:
// accessible in this class and derived classes
};
class Derived : protected Base { ... };
#include <print>
#include <cmath>
class Shape {
protected:
double side_; // accessible in derived classes
public:
explicit Shape(double s) : side_(s) {}
};
class Square : public Shape {
public:
explicit Square(double s) : Shape(s) {}
double area() const {
return side_ * side_; // accesses protected member
}
};
class Circle : public Shape {
public:
explicit Circle(double r) : Shape(r) {}
double area() const {
return std::numbers::pi * side_ * side_;
}
};
int main() {
Square sq{4.0};
std::println("{}", sq.area()); // 16
Circle c{3.0};
std::println("{:.4f}", c.area());
}
protected breaks encapsulation relative to private but maintains it relative to external clients.protected sparingly; prefer private with accessor functions to maintain better invariants.int main() {
// Pick one facility from this reference page.
// Write the smallest program that exercises its main precondition,
// complexity rule, or lifetime constraint before scaling up.
return 0;
}