Это безымянный класс.
Вы можете использовать их, например, заменить локальные функции в пре-C ++ 11:
int main() {
struct {
int operator() (int i) const {
return 42;
}
} nice;
nice(0xbeef);
}
Двоеточие, за которым следует sample
, просто означает производное от sample
с использованием наследования по умолчанию . (для структур: общедоступных, для классов: частных)