One advantage is that classes have a destructor which deletes the dynamic memory so you can't forget it.
Another advantage that it is accessible only inside the class - if you put it in the private or protected section - so no other code can accidentally modify it.
A big disadvantage of not saving the "size" in the class is that the class won't remember the size of the array. Since the class is the owner of this array it should know how big the array is in order to be able to help prevent buffer overrun problems.