add tag
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 { /* ... */ };  

This room is for discussion about this question.

Once logged in you can direct comments to any contributor here.

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.