Pretty much, I can give you a "possibly" more appealing way that uses std::copy from the algorithm header, but that's about it.
Code:
#include <algorithm>
/*...*/
Calendar()
{
Month table[] =
{
Month("January", 31),
Month("February", 28),
Month("March", 31),
Month("April", 30),
Month("May", 31),
Month("June", 30),
Month("July", 31),
Month("August", 31),
Month("September", 30),
Month("October", 31),
Month("November", 30),
Month("December", 31)
};
months = new Month[12];
std::copy(&table[0], &table[12], months);
}
std::copy copies from the iterator (pointer in this case) &table[0], or the first element of table, to one before the second argument of the function (&table[12]) or the last element of table. It copies this into the third argument, months.