Q:

Local Class with Example in C++

belongs to collection: C++ programs on various topics

0

Local Class in C++

In C++, generally a class is declared outside of the main() function, which is global for the program and all functions can access that class i.e. the scope of such class is global.

local class is declared inside any function (including main() i.e. we can also declare a class within the main() function) and the scope of local class is local to that function only i.e. a local class is accessible within the same function only in which class is declared.

Example:

Here, we are declaring and defining two classes "Test1" and "Test2""Test1" is declared inside a user-defined function named testFunction() and "Test2" is declares inside the main() function.

Since classes "Test1" and "Test2" are declared within the functions, thus, their scope will be local to those functions. Hence, "Test1" and "Test2" are local classes in C++.

 

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program:

#include <iostream>
using namespace std;

//A user defined function
void testFunction(void)
{
    //declaring a local class
    //which is accessible within this function only
    class Test1
    {
        private:
            int num;
        public:
            void setValue(int n)
            {
                num = n;
            }
            int getValue(void)
            {
                return num;
            }
    };
    
    //any message of the function
    cout<<"Inside testFunction..."<<endl;
    
    //creating class's object
    Test1 T1;
    T1.setValue(100);
    cout<<"Value of Test1's num: "<<T1.getValue()<<endl;
}

//Main function
int main()
{
    //declaring a local class
    //which is accessible within this function only
    class Test2
    {
        private:
            int num;
        public:
            void setValue(int n)
            {
                num = n;
            }
            int getValue(void)
            {
                return num;
            }
    };
    
    
    //calling testFunction
    cout<<"Calling testFunction..."<<endl;
    testFunction();
    
    //any message of the function
    cout<<"Inside main()..."<<endl;
    
    //creating class's object
    Test2 T2;
    T2.setValue(200);
    cout<<"Value of Test2's num: "<<T2.getValue()<<endl;
    
    return 0;
}

Output

 
Calling testFunction...
Inside testFunction...
Value of Test1's num: 100
Inside main()...
Value of Test2's num: 200

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C++ programs on various topics

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Structure with private members in C++... >>
<< Example of private member function in C++...