php中文网

C++ 类方法的访问级别说明

php中文网

类方法的访问级别决定了可调用的代码类型:public:任何代码protected:类及其派生类private:仅限于类本身

C++ 类方法的访问级别

在 C++ 中,类方法的访问级别决定了哪些代码可以调用它。有三种访问级别:

  • public:任何代码都可以调用。
  • protected:只有类本身及其派生类可以调用。
  • private:只能由类本身调用。

语法:

立即学习“C++免费学习笔记(深入)”;

// 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中文网其它相关文章!