To start off with, based on your example, I'm not sure you've got the general idea of inheritance. In general, you want to inherit from another class if the class you're building has all the attributes of the class you're inheriting from, plus some unique to this child class.
If that confuses you, let me give you an example.
class Car
{
//a car has four wheels.
// a car has an engine
}
class Truck: public Car
{
//a truck ALSO has four wheels
//a truck ALSO has an engine
//a truck has a bed
}
so, you wouldn't want to inherit a Week object from a Day object, because you can't, in essence, say that a Day IS A Week.
On to your later question. If you were to say weeks[0] = new Day(); then yes, it would create a day object, but by accessing it through the weeks array, you could only access the attributes of the "week" portion of it that was inherited.