21xrx.com
2024-12-22 21:22:23 Sunday
登录
文章检索 我的文章 写文章
C++中public和private的区别及应用场景
2023-07-04 06:29:21 深夜i     --     --
C++ Public Private Difference Applications

C++中的 public 和 private 是两个重要的关键字,用于指定类中变量和函数的不同访问级别。在这篇文章中,我们将探讨 public 和 private 的区别及其应用场景。

首先,public 和 private 在 C++ 中是两个访问修饰符,用于控制类中成员的访问权限。public 表示可以在类的内外都可以访问,而 private 可以在类的内部访问,但是不能在类的外部直接访问。

让我们看看一个简单的示例来更好地了解 public 和 private 的区别。


class Rectangle {

 int length, width;

public:

 void set_values(int, int);

 int area();

private:

 int perimeter();

};

void Rectangle::set_values(int len, int wid)

 length = len;

 width = wid;

int Rectangle::area() {

 return length * width;

}

int Rectangle::perimeter() {

 return 2 * (length + width);

}

int main() {

 Rectangle rect;

 rect.set_values(5, 6);

 // 计算并输出面积

 int area = rect.area();

 cout << "Rectangle area is: " << area << endl; 

 // 会报错,因为 perimeter 是私有函数

 int perimeter = rect.perimeter();

 cout << "Rectangle perimeter is: " << perimeter << endl;

 

 return 0;

}

在上述示例中,我们定义了一个名为 Rectangle 的类,其中有三个成员函数:set_values、area 和 perimeter。其中,set_values 和 area 被设置为 public,而 perimeter 被设为 private。

当我们在 main() 函数中调用 set_values 和 area 函数时,它们可以正确运行并输出结果。但是,当我们尝试调用 perimeter 函数时会发生编译错误,因为它是一个私有函数,不能在类的外部直接访问。

所以,public 和 private 的应用场景分别是什么呢?

public 应用场景:由于 public 成员函数和变量可以在类的内部以及外部访问,通常将它们设置为类的接口,使外部程序可以直接使用它们,从而实现类与外部程序间的交互。

private 应用场景:由于 private 成员函数和变量只能在类的内部使用,通常将它们设置为类的实现细节。它们被隐藏在类的内部,外部程序无法直接修改它们,从而保证了类的封装性和安全性。

总的来说,public 和 private 是两个重要的访问修饰符,用于控制类的成员的访问权限。在类设计中,将成员变量设置为 private,成员函数设置为 public 是一种常见的做法,它可以保证类的封装性和安全性,同时也增强了类与外部程序的交互性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复