
Keith B. answered 09/06/19
Software Engineer and Math Geek
In C++, classes and structs are the same, the only difference being that the methods and members of a class are private by default whereas they are public in a struct. Structs can have constructors, destructors and methods, public/protected/private sections, same as classes.
That being said, there really isn't a "when" answer. Structs break the concept of encapsulation, allowing access to everything within by nature. You need to ask yourself: do you want that for this object I'm defining?