I'm doing an exercise where I create a sample package simulator system using inheritance and then read the class objects into an array. I started off without an array first just to get everything working but now that I have I'm not sure how to do it with an array. I've been told I could use the 'new' feature like

Code:
OverNightPackages[i] = new OvernightPackage()
but when I try the compiler goes crazy.

This is the code I have:

Code:
#include <iostream> 
#include <string> 

using namespace std; 
 
class Package // Base Class
{ 
private: 
	string name, city, state, sender, recipient; 
    int zip; 
    string address; 
    float weight;  // in ounce 
    double cost;  // per ounce 
                     
public:  
    void setName(string name); 
    void setCity(string city); 
    void setState(string state); 
    void setZip(int zip); 
    void setAddress(string address); 
    void setSender(string sender); 
    void setRecipient(string recipient); 
    string getName()
	{ 
		return name;
	} 

    string getCity()
	{
		return city;
	} 

    string getState(){	return state;} 

	int getZip()
	{
		return zip;
	} 

	string getAddress()
	{
		return address;
	} 
	
	string getSender()
	{
		return sender;
	} 

	string getRecipient()
	{
		return recipient;
	} 
                                
double calculateCost(float weight, double costPerOunce) //function that calculate the cost z 
{  
	double z;  //total cost = weight*cost per ounce 
    z = weight * costPerOunce;  //the cost z 
                                  
    cout<< "The Base Cost = " <<z <<endl; 
    return z; 
}
}; // end class Package
 
void Package::setName(string n)
{
	name = n; 
} 
                                                    
void Package::setCity(string c)
{
	city = c;
} 

void Package::setState(string s)
{
	state = s;
} 

void Package::setZip (int zp)
{
	zip = zp;
} 

void Package::setAddress(string adr)
{
	address = adr; 
} 

void Package::setSender(string sen) 
{
	sender = sen;   
}  

void Package::setRecipient(string rec)   
{
	recipient = rec;                                             
}                                         
          
class TwoDayPackage: public Package // derived class
{     
public:
	double calcShippingCost(float weight, double costPerOunce, double flatFee) 
		/* function that calculate shipping cost by adding the flat fee to the weight-based cost 
		calculated by base class Package's calculateCost function*/ 
	{
		double z; //shippingcost of Two day Package class
		
		z= calculateCost(weight,costPerOunce) + flatFee;  
		cout<< "The Two Day Package Cost = " << z << endl;

		return z;
	}

private:
	double flatFee;
}; // end TwoDayPackage
 
class OvernightPackage: public Package //derived class that adds the additional fee per ounce
{
public:
	double calcCostOvernight(float weight, double costPerOunce, double additionalCost )
	{
		double z; //shippingcost of overnight class
		z = calculateCost(weight, costPerOunce)+(additionalCost * weight);
		
		cout<< "The OvernightPackage Cost = " <<z << endl;

		return z;
	}
private:
	double overnightCost; //per ounce 
}; // end class OvernightPackage
 
int main()
{
	int i;  //i represent the user`s choice number
	string customerName, customerAddress, city, state, senderAddress, recipientAddress; 
    float weight; 
    string customerCity; 
    double costPerOunce; 
    double flatFee; 
    double additionalCost; 
    string customerState; 
    int customerZipcode;
	
	Package base;   //the object base of the package class 
    TwoDayPackage* twoday[100];  //the object twoday of the first inhereted calss 
    OvernightPackage* overnight[100];   //the object overnight of the second inhereted calss   

   /* for (int c = 0; c<= 100;c++){
        cin >> twoday [ c ];
    }
 
    for (int d = 0; d<=100;d++){
        cin >> overnight[ d ]; 
    } */
 /* do{ */
    cout<<"    This is the FedEx Package Sending System"<<endl<<endl; 
    cout<< "Please fill in your package request form: " <<endl<<endl;
         
    cout<<"Enter Customer Name "<<endl<<endl; 
    getline(cin, customerName); 
    cout<<endl; 
    base.setName(customerName);   
         
    cout<<"Enter Customer Address"<<endl<<endl; 
    getline(cin, customerAddress); 
    cout<<endl; 
    base.setAddress(customerAddress); 
 
    cout<<"Enter Customer City"<<endl<<endl; 
    getline(cin, customerCity); 
    cout<<endl; 
    base.setCity(customerCity); 
         
    cout<<"Enter Customer State"<<endl<<endl; 
    getline(cin, customerState); 
    cout<<endl; 
    base.setState(customerState); 
         
    cout<<"Enter Customer ZIP code"<<endl<<endl; 
    cin >> customerZipcode; 
    cout<<endl; 
    base.setZip(customerZipcode); 
         
    cout<<"Enter Weight"<<endl; 
    cin >> weight; 
    cout<<endl; 
    cout<<"Enter Cost Per Ounce"<<endl; 
    cin>>costPerOunce; 
    cout<<endl; 
         
    cout<<"Please Enter Your Choice From The Menu Below:"<<endl<<endl; 
    cout<<"   1- Calculate Base Cost  "<<endl<<endl; 
    cout<<"   2- Calculate Two Day Cost "<<endl<<endl; 
    cout<<"   3- Calculate Over Night Cost"<<endl<<endl; 
    cin>>i; 
    cout<<endl;  //i represent customer choice
	
	switch (i)
	{
	case 1 :
		base.calculateCost(weight, costPerOunce);
		break;
	
	case 2 : 
		cout<<"Enter Flat Cost"<<endl<<endl;  //additonal(to weight and cost) needed information  
        cin>>flatFee;
		twoday.calcShippingCost(weight,costPerOunce,flatFee); 
        break;
	
	case 3 : 
		cout<<"Enter additional cost"<<endl<<endl; 
        cin>>additionalCost; 
        overnight.calcCostOvernight(weight,costPerOunce,additionalCost); 
        break;
	
	default:
		cout<<"Invalid input. Please enter choice number. "<< endl;
	} // end switch
	
	cout << "Now entering sender and recipient info." << endl;
	
	cout<<"Enter the sender address " << endl; 
    cin >> senderAddress; 
    cout<<endl; 
    base.setSender(senderAddress); 
         
    cout<<"Enter recipient address" << endl; 
    cin >> recipientAddress; 
    cout<<endl; 
    base.setRecipient(recipientAddress);    
         
    cout <<"Address from:"<< senderAddress <<endl; 
    cout<<"To:"<< recipientAddress << endl;
    
/* }while */
	
	return 0;
} // end main
and the error I'm currently getting from my compiler:

Code:
In function 'int main()':
210:10: error: request for member 'calcShippingCost' in 'twoday', which is of non-class type 'TwoDayPackage [100]'
216:19: error: request for member 'calcCostOvernight' in 'overnight', which is of non-class type 'OvernightPackage [100]'
I've tried all the ways I know how to read info into arrays but I only know how to do it for non-class objects.