C ++中的私有成员和受保护成员

C ++中的类具有公共,私有和受保护的节,其中包含相应的类成员。

不能从类外部访问私有数据成员。只能通过类或友元函数访问它们。默认情况下,所有类成员都是私有的。

类中的受保护成员类似于私有成员,但是派生类或子类可以访问它们,而私有成员则不能。

演示类中的私有成员和受保护成员的程序如下:

示例

#include <iostream>
using namespace std;
class Base {
   public :
   int a = 8;
   protected :
   int b = 10;
   private :
   int c = 20;
};
class Derived : public Base {
   public :
   void func() {
      cout << "The value of a : " << a;
      cout << "\nThe value of b : " << b;
   }
};
int main() {
   Derived obj;
   obj.func();
   return 0;
}

输出结果

上面程序的输出如下。

The value of a : 8
The value of b : 10

现在,让我们了解以上程序。

在Base类中,数据成员分别是a,b和c,它们分别是公共的,受保护的和私有的。给出的代码片段如下。

class Base {
   public :
   int a = 8;
   protected :
   int b = 10;
   private :
   int c = 20;
};

派生类继承基类。该函数func()打印a和b的值。它不能打印c的值,因为c的值是Base类专用的,并且不能在Derived类中访问。给出的代码片段如下。

class Derived : public Base {
   public :
   void func() {
      cout << "The value of a : " << a;
      cout << "\nThe value of b : " << b;
   }
};

在该函数中main(),创建了Derived类的对象obj。然后func()调用该函数。给出的代码片段如下。

int main() {
   Derived obj;
   obj.func();
   return 0;
}