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.

C++ Tutorial


Ask Questions

Ask Question