คลาสที่ประกาศภายในฟังก์ชันเรียกว่าคลาสโลคัลใน 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();