Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

คลาสท้องถิ่นใน C++


คลาสที่ประกาศภายในฟังก์ชันเรียกว่าคลาสโลคัลใน C++ เนื่องจากเป็นคลาสของฟังก์ชันนั้น

ตัวอย่างของคลาสท้องถิ่นจะได้รับดังนี้

#include<iostream>
using namespace std;
void func() {
   class LocalClass {
   };
}
int main() {
   return 0;
}

ในตัวอย่างข้างต้น func() เป็นฟังก์ชันและคลาส LocalClass ถูกกำหนดไว้ภายในฟังก์ชัน ดังนั้นจึงเรียกว่าคลาสท้องถิ่น

ชื่อคลาสโลคัลสามารถใช้ได้ในฟังก์ชันเท่านั้น ไม่สามารถใช้ภายนอกได้ นอกจากนี้ ต้องกำหนดวิธีการของคลาสท้องถิ่นภายในเท่านั้น คลาสโลคัลไม่สามารถมีสมาชิกข้อมูลสแตติกได้ แต่สามารถมีฟังก์ชันสแตติกได้

โปรแกรมที่แสดงคลาสท้องถิ่นในภาษา C++ มีดังต่อไปนี้

ตัวอย่าง

#include<iostream>
using namespace std;
void func() {
   class LocalClass {
      private:
      int num;
      public:
      void getdata( int n) {
         num = n;
      }
      void putdata() {
         cout<<"The number is "<<num;
      }
   };
   LocalClass obj;
   obj.getdata(7);
   obj.putdata();
}
int main() {
   cout<<"Demonstration of a local class"<<endl;
   func();
   return 0;
}

ผลลัพธ์

Demonstration of a local class
The number is 7

ในโปรแกรมข้างต้น คลาส LocalClass ถูกประกาศในฟังก์ชัน func() ดังนั้นจึงเป็นคลาสโลคัล คลาสตัวแปร num และฟังก์ชันสมาชิกสองตัวที่เริ่มต้นและแสดง num หลังจากสร้างคลาส วัตถุ obj ถูกกำหนดในฟังก์ชัน func() และ getdata() และ putdata() ถูกเรียกโดยใช้ obj มีลักษณะดังนี้

void func() {
   class LocalClass {
      private:
      int num;
      public:
      void getdata( int n) {
         num = n;
      }
      void putdata() {
         cout<<"The number is "<<num;
      }
   };
   LocalClass obj;
   obj.getdata(7);
   obj.putdata();
}

ในฟังก์ชัน main() ฟังก์ชัน func() จะถูกเรียก ดังแสดงด้านล่าง

cout<<"Demonstration of a local class"<<endl;
func();