Examveda

What is the access specifier that allows constructors to be called only from member functions of the same class and its derived classes in C++?

A. protected

B. public

C. private

D. friend

Answer: Option C

Solution (By Examveda Team)

In C++, the access specifier that allows constructors to be called only from member functions of the same class and its derived classes is private. When a constructor is declared as private, it cannot be accessed from outside the class, limiting its invocation to member functions of the same class and its derived classes.

Option A: protected allows access to member functions and data members from within the same class, derived classes, and friend classes, but it still allows derived classes to call constructors, which might not be desired in some cases.
Option B: public allows unrestricted access to the constructor from anywhere, defeating the purpose of restricting its usage to only member functions of the same class and its derived classes.
Option D: friend allows non-member functions or external classes to access private and protected members of a class, but it doesn't restrict the calling of constructors to member functions of the same class and its derived classes.

Therefore, the correct answer is Option C: private.

Join The Discussion

Comments (1)

  1. Nashaib Akbar
    Nashaib Akbar:
    1 year ago

    The access specifier that allows constructors to be called only from member functions of the same class and its derived classes in C++ is:

    A. protected

Related Questions on Constructors and Destructors in C plus plus