In general programming, an aggregate datatype is a type which can store multiple data members. It has subtypes such as there are some aggregators which can store data members of different types such as structs and some which only store data members of same type such as arrays.

An aggregate datatype has following properties:

  1. They do not have user-declared constructors.
  2. They have not have private or protected non-static data members.
  3. No virtual functions.

References

  1. https://www.learncpp.com/cpp-tutorial/struct-aggregate-initialization/
  2. https://en.cppreference.com/w/cpp/language/aggregate_initialization