C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++のネストされたクラス


ネストされたクラスは、別のクラスで宣言されているクラスです。ネストされたクラスは、それを囲むクラスのメンバー変数でもあり、他のメンバーと同じアクセス権を持っています。ただし、囲んでいるクラスのメンバー関数には、ネストされたクラスのメンバーへの特別なアクセス権はありません。

C++でネストされたクラスを示すプログラムは次のとおりです。

#include<iostream>
using namespace std;
class A {
   public:
   class B {
      private:
      int num;
      public:
      void getdata(int n) {
         num = n;
      }
      void putdata() {
         cout<<"The number is "<<num;
      }
   };
};
int main() {
   cout<<"Nested classes in C++"<< endl;
   A :: B obj;
   obj.getdata(9);
   obj.putdata();
   return 0;
}

出力

Nested classes in C++
The number is 9

上記のプログラムでは、クラスBはクラスA内で定義されているため、ネストされたクラスです。クラスBには、プライベート変数numと2つのパブリック関数getdata()およびputdata()が含まれています。関数getdata()はデータを取得し、関数putdata()はデータを表示します。これは次のように与えられます。

class A {
   public:
   class B {
      private:
      int num;
      public:
      void getdata(int n) {
         num = n;
      }
      void putdata() {
         cout<<"The number is "<<num;
      }
   };
};

main()関数では、クラスAとクラスBのオブジェクトが定義されています。次に、変数objを使用して関数getdata()およびputdata()が呼び出されます。これを以下に示します。

cout<<"Nested classes in C++"<< endl;
A :: B obj;
obj.getdata(9);
obj.putdata();

  1. C#のネストされたクラス

    ネストされたクラスは、別の囲んでいるクラスで宣言されたクラスです。これはその包含クラスのメンバーであり、包含クラスのメンバーはネストされたクラスのメンバーにアクセスできません。 C#のネストされたクラスのサンプルコードスニペットを見てみましょう- 例 class One {    public int val1;    public class Two {       public int val1;    } } class Demo {    static void Main

  2. C#のネストされたクラスとは何ですか?

    ネストされたクラスは、別の包含クラスで宣言されたクラスです。これはその包含クラスのメンバーであり、包含クラスのメンバーはネストされたクラスのメンバーにアクセスできません。 C#のネストされたクラスのサンプルコードスニペットを見てみましょう- class One {    public int num1;    public class Two {       public int num2;    } } class Demo {    static void Main() {