类方法的访问级别决定了可调用的代码类型:public:任何代码protected:类及其派生类private:仅限于类本身
C++ 类方法的访问级别
在 C++ 中,类方法的访问级别决定了哪些代码可以调用它。有三种访问级别:
- public:任何代码都可以调用。
- protected:只有类本身及其派生类可以调用。
- private:只能由类本身调用。
语法:
立即学习“”;
// public 访问级别 public: returnType methodName(parameters); // protected 访问级别 protected: returnType methodName(parameters); // private 访问级别 private: returnType methodName(parameters);
登录后复制
实战案例:
考虑以下类:
class Shape { public: virtual double area() = 0; // 纯虚函数 virtual double perimeter() = 0; // 纯虚函数 protected: double width; double height; };
登录后复制
- area 和 perimeter 是纯虚函数,即没有实现的函数。它们迫使派生类实现这些函数。
- width 和 height 是受保护成员,因此只能由 Shape 类及其派生类访问。
现在,考虑以下 Rectangle 类的派生类:
class Rectangle : public Shape { public: Rectangle(double w, double h) : width(w), height(h) {} double area() override { return width * height; } double perimeter() override { return 2 * (width + height); } private: double width; double height; };
登录后复制
- Rectangle 类继承自 Shape 类。
- Rectangle 类构造函数将 width 和 height 初始化为传入的参数。
- area 和 perimeter 函数重写了 Shape 类中的纯虚函数,并提供了矩形的具体实现。
通过将 width 和 height 设为私有成员,我们可以防止外部代码直接访问它们,从而提高了安全性。同时,我们还允许派生类通过受保护的访问级别访问它们,以实现必要的计算。
以上就是C++ 类方法的访问级别说明的详细内容,更多请关注php中文网其它相关文章!