This blog is about providing theory as well as simple executable codes of different programming languages such as java, C, C++, and web programming, etc. This blog will be helpful to the IT students to learn about programming.

Thursday, February 16, 2023

what is access specifier? Discuss its types.

 Access specifiers in C++ are keywords that determine the level of access to the members of a class. There are three types of access specifiers in C++: public, private and protected.

1. Public Access Specifier: The public access specifier allows access to all members of a class from outside the class. Public members are accessible from any part of the program, including other functions and classes. Public members can be accessed using the dot(.) operator. For example:

class MyClass {
public:
    int publicVar;
    void publicFunction();
};

In this example, 'publicVar' and 'publicFuncion()' are public members of the 'MyClass' class. These members can be accessed from outside the class using the dot (.) operator.

2. Private Access Specifier: The private access specifier restricts access to the members of a class to the class itself. Private members cannot be accessed from outside the class, not even by other functions or classes. Private members can only be accessed by member functions of the class. For example:

class MyClass {
private:
    int privateVar;
    void privateFunction();
public:
    void publicFunction();
};

In this example, 'privateVar' and "privateFunction()" are private members of the "MyClass" class. These members cannot be accessed from outside the class, but can be accessed by the public member function 'publicFunction()'.

3. Protected Access Specifier: The protected access specifier allows access to the members of class by derived class. Protected members cannot be accessed from outside the class, but can be accessed by member functions of the derived class. For example:

class BaseClass {
protected:
    int protectedVar;
    void protectedFunction();
};
class DerivedClass : public BaseClass {
public:
    void accessProtected() {
        protectedVar = 10; // Accessing protected member from derived class
        protectedFunction(); // Accessing protected function from derived class
    }

};

In this example, 'protectedVar' and 'protectedFunction()' are protected members of the 'BaseClass' class. These members cannot be accessed from outside the class, but can be accessed by member functions of the derived class, as shown in the 'DerivedClass' example.

In Summary, access specifiers in C++ determine the level of access to the members of a class. Public members can be accessed from anywhere, private members can only be accessed by the class itself, and protected members can be accessed by derived classes. The choice of access specifier depends on the design of the class and the level of security required for the class members. 

 


No comments:

Post a Comment

If you have any doubts, please let me know

Slider Widget