2015-04-15 12 views
15

Sprawdziłem, czy specyfikator dostępu protected może być używany wewnątrz class, struct, a także union. Wiem, że specyfikator dostępu protected oznacza, że ​​członkowie będą prywatni, ale widoczni dla klasy pochodnej. Nie jestem w stanie wymyślić rozsądnego przypadku użycia, w którym słowo kluczowe protected w związku byłoby przydatne, ponieważ związek nie może być częścią hierarchii dziedziczenia. Ponieważ w związku private i protected nie ma różnicy, dlaczego zezwalać na protected również w związkach?Jaki jest pożytek ze słowa kluczowego "protected" w związku?

Odpowiedz

15

Powiedziałbym, że prawdziwe pytanie jest odwrotne, dlaczego nie wolno tego? Tak, w tym przypadku jest to równoznaczne z private, ale czy naprawdę byłaby warta (choć niewielka) komplikacja implementacji języka i kompilatora? W żaden sposób nie boli.

Powiązane problemy