[protected, virtual]
[virtual]
[pure virtual]
[protected]
[friend]
[explicit]
[explicit, private]
[private]