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