C++中public和private的区别

public

public 下声明的所有类成员将可供所有人使用。声明为 public 的数据成员和成员函数也可以被其他类访问。可以使用直接成员访问运算符 (.) 和该类的对象从程序中的任何位置访问类的公共成员。

例子:

// C++ program to demonstrate public // access modifier  #include <iostream> using namespace std;  // class definition class Circle { public:     double radius;      double compute_area()     {         return 3.14 * radius * radius;     } };  // main function int main() {     Circle obj;      // accessing public data member outside class     obj.radius = 5.5;      cout << "Radius is: " << obj.radius << "n";     cout << "Area is: " << obj.compute_area();     return 0; } 

运行结果:

Radius is: 5.5 Area is: 94.985 

在上面的程序中,数据成员 radius 是公共的,因此可以在类外访问它。

Private:
声明为private的类成员只能由类内的函数访问。不允许类外的任何对象或函数直接访问它们。只允许成员函数或友元函数访问类的私有数据成员。
例子:

// C++ program to demonstrate private // access modifier  #include <iostream> using namespace std;  class Circle {     // private data member private:     double radius;      // public member function public:     void compute_area(double r)     {         // member function can access private         // data member radius         radius = r;          double area = 3.14 * radius * radius;          cout << "Radius is: " << radius << endl;         cout << "Area is: " << area;     } };  // main function int main() {     // creating object of the class     Circle obj;      // trying to access private data member     // directly outside the class     obj.compute_area(1.5);      return 0; } 

运行结果:

Radius is: 1.5 Area is: 7.065 

public 和 private 之间的区别:

publicprivate
public 下声明的所有类成员将可供所有人使用。声明为private的类成员只能由类内的函数访问。
声明为 public 的数据成员和成员函数也可以被其他类访问。只允许成员函数或友元函数访问类的private数据成员。
可以使用直接成员访问运算符 (.) 和类的对象从程序中的任何位置访问类的公共成员。不允许类外的任何对象或函数直接访问它们。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264511.html

(0)
上一篇 2022年6月7日
下一篇 2022年6月7日

相关推荐

发表回复

登录后才能评论