It depends. Usually the answer is yes, but there are times when it isn't worth it. Does the class-ness organize your data and methods together into something that is easy to work with? What does having the class bring to your code? What does it look like if you don't have the class? Is this so simple that a struct (or public class) would do great (lose the getter/setter paradigm and keep it simple, but still coupled)? Also, a vector of int (etc, and a union would let you do a LOT of stuff) is sometimes (quite often, actually) just as good as a small class.