Local classes in C++
What are Local classes in C++?
Explanation
Local class is a class defined inside a function. Following are some of the rules for using these classes.
- Global variables declared above the function can be used with the scope operator "::".
- Static variables declared inside the function can also be used.
- Automatic local variables cannot be used.
- It cannot have static data member objects.
- Member functions must be defined inside the local classes.
- Enclosing functions cannot access the private member objects of a local class.
Example :
#include <iostream.h> int y; void g(); int main() { g(); return 0; } void g() { class local { public: void put( int n) {::y=n;} int get() {return ::y;} }ab; ab.put(20); cout << "The value assigned to y is::"<< ab.get(); } |
Result :
The value assigned to y is::20
In the above example, the local class "local" uses the variable "y" which is declared globally. Inside the function it is used using the "::" operator. The object "ab" is used to set, get the assigned values in the local class.