Data Structure
 Networking
 RDBMS
 Operating System
 Java
 MS Excel
 iOS
 HTML
 CSS
 Android
 Python
 C Programming
 C++
 C#
 MongoDB
 MySQL
 Javascript
 PHP
- Selected Reading
 - UPSC IAS Exams Notes
 - Developer's Best Practices
 - Questions and Answers
 - Effective Resume Writing
 - HR Interview Questions
 - Computer Glossary
 - Who is Who
 
Local Class in C++
A class declared inside a function is known as a local class in C++ as it is local to that function, where its scope is limited to that function.
Syntax
Here the syntax for a local class is given as follows.
#include<iostream> using namespace std; void func() {  class LocalClass {  }; } int main() {  return 0; } In the above syntax, func() is a function, and class LocalClass is defined inside the function. So, it is known as a local class.
A local class name can only be used in its function and not outside it. Also, the methods of a local class must be defined inside it only. A local class cannot have static data members but it can have static functions.
Example
A program demonstrating a local class in C++ is given as follows.
#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; } Output
Demonstration of a local class The number is 7
Explanation
- In the above program, the class LocalClass is declared in the function func() so it is a local class.
 - The class has one private data member(num) and two public member functions (getdata() and putdata()).
 - Inside fun(), we had created an object named LocalClass, where getdata() method is set as 7 and the putdata() method displays it.
 - In the function main(), the function func() is called.
 
Use Cases of Local Classes in C++
Local classes are declared within the scope of a function, which can be very useful in a few scenarios that have been discussed below.- Local classes are ideal for encapsulating small and temporary functionality, which only needs to be used within a single function or method.
 - Local classes are useful for defining custom comparison logic for algorithms like std::sort, std::find, or std::for_each.
 - It is also useful for scenarios like event-driven programming or callbacks and can implement custom iteration logic using STL algorithms.
 
Advertisements