Tak, wszystkie one są jawne.
struct A : B {
C c;
void foo() const {}
}
jest równoważna
struct A : public B {
public:
C c;
void foo() const {}
}
Dla członków, jest określony w §11:
Członkowie klasy zdefiniowanej w klasie kluczowego są prywatne domyślnie. Członkowie klasy zdefiniowanej za pomocą słów kluczowych struct lub union są domyślnie publiczne.
i dla klas bazowych w §11.2:
W przypadku braku dostępu-specyfikacją dla klasy podstawowej, publicznego zakłada gdy klasa pochodna jest zdefiniowana klasa-key i struct private przyjmuje się, gdy klasa jest zdefiniowana klasą class-key.
gdzie referencje odnoszą się do standardu C++ 11.
Mogłeś sam to sprawdzić za pomocą bardzo małego programu. – Nobody
Sprawdź ten wątek na temat różnic między klasami i strukturami w C++ http://stackoverflow.com/questions/92859/what-are-the-differences-between-struct-andclass-in-c –
@Nobody: But wtedy będzie polegał na swoim kompilatorze, który nie ma błędów :) –