or
GreenDragon
Suppose I have some base class

`class Base
{
/*...*/
}`

and some derived class

`class Derived:Base
{
/*...*/
}`

Which access-specifier is used here? 
Top Answer
GreenDragon
As written in [standard](http://eel.is/c++draft/class.access.base#2):

> In the absence of an access-specifier for a base class, **public** is assumed when the derived class is defined with the class-key **struct** and **private** is assumed when the class is defined with the class-key **class**. 

So in your case it's private access-specifier. 

Example from the standard:


    class B { /* ... */ };
    
    // B private by default
    class D3 : B { /* ... */ }; 
    
    // B public by default
    struct D6 : B { /* ... */ };  
What is default value of access-specifier for a base class?

This is a dedicated room for discussion about this question.

Once logged in you can direct comments to the question poster (or any answer poster) here.