If you have a large class or an array then usually the new operator is preferred as it allocates the memory from the heap at run time. Also to note is that an un-initialised array or class will be assigned to the un-itialised data segment of your program (ie taking no space in the exe) and usually has random data in it and will need to be filled by your program anyway. Where-as is you do something like MyClass myObj = { 10,10 }; then that will be stored in the initialised segment of your exe.
There's advantages to all cases. Allocating memory at run-time is useful for data that is going to be used temporarily (deleted, re-initialise, etc) were having initialised data is more local to your code, although this very rarely makes much difference in terms of speed these days.
I don't think there's a standard of how you setup your classes, but in some cases of C++, the constructor will allocate memory and the destructor will free it.
Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!