If you need only one account at a time, just use the same pointer, deleting the account when you're through with it.
If you need several accounts at once, make a dynamic array of pointers with new[], then allocate each account individually to whatever you need it to be.
Code:
account **accountarray;
accountarray = new *accountarray[naccounts]
//alternate checking and savings accounts
for (n = 0; n < naccounts; n++)
{
if (n%2==0) accountarray[n] = new checking(args);
else accountarray[n] = new savings(args);
}