First of all thanks for posting something that isn't a homework question :) [or at least doesn't read like one].
Secondly, I assume that you are writing this to do something. So I am guessing to how you want to use them.
Next: I have used partitions in real code, but I never store them, I use them as iterators. I want a begin() and end(), so that I can do the correct path integral in a loop. Yes your code can do that but it is a bit of a drag to store all that memory. Having said that it isn't a big problem
The most important thing is to sort the list. In a normal QM path integral 1+1+1+1 is normally much bigger than 4. So it is possible to calculate the first few in the set and ignore the remaining ones. The ordering is normally problem specific.
Algorithmically, you can do you construction loop by recursion, or just by counting up. It is easier (I think). That way the previous solutions on the vector can all be used, and just copied in.
Finally, return const references from both getPartition and getPartitions..
Overall thanks for the post.