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;
};

Derived類繼承Base類。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;
}

更新於:2020年6月26日

8K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.