QUOTE(skaoth @ 19 Jul, 2008 - 11:46 PM)

For us to be of more help, you will need to provide the complete code for the OverNightPackage class, Package class (implementation and definition if in .h and .cpp files), and what ever file your compiler is complaining about resulting in this atal error C1004: unexpected end-of-file found
OK, here is the entire program I have. I have made this into just 1 file:
CODE
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <string>
using namespace std;
using std::setprecision;
//The class Package is the base class for derived classes TwoDayPackage and OverNightPackage
class Package //begins class Package
{
public:
Package(const string &, const string &, const string &, const string &, const string &, const string &, const string &, const string &, const string &, const string &, double = 0.0, double = 0.0, double = 0.0); //constructor
//set and get functions for sender
void setSenderName(const string &);
string getSenderName() const;
void setSenderAddress(const string &);
string getSenderAddress() const;
void setSenderCity(const string &);
string getSenderCity() const;
void setSenderState(const string &);
string getSenderState() const;
void setSenderZip(const string &);
string getSenderZip() const;
//set and get functions for recipient
void setRecipientName(const string &);
string getRecipientName() const;
void setRecipientAddress(const string &);
string getRecipientAddress() const;
void setRecipientCity(const string &);
string getRecipientCity() const;
void setRecipientState(const string &);
string getRecipientState() const;
void setRecipientZip(const string &);
string getRecipientZip() const;
void setShipWeight(double);
double getShipWeight() const;
void setShipRate(double);
double getShipRate() const;
double calculateCost() const;
private:
string senderName;
string senderAddress;
string senderCity;
string senderState;
string senderZip;
string recipientName;
string recipientAddress;
string recipientCity;
string recipientState;
string recipientZip;
double shipWeight;
double shipRate;
};
Package::Package(const string &sname, const string &saddress, const string &scity, const string &sstate, const string &szip, const string &rname, const string &raddress, const string &rcity, const string &rstate, const string &rzip, double weight, double rate, double calculateCost)
{
senderName = sname;
senderAddress = saddress;
senderCity = scity;
senderState = sstate;
senderZip = szip;
recipientName = rname;
recipientAddress = raddress;
recipientCity = rcity;
recipientState = rstate;
recipientZip = rzip;
setShipWeight(weight);
setShipRate(rate);
calculateCost;
}
void Package::setSenderName(const string &sname)
{
senderName = sname;
}
string Package::getSenderName() const
{
return senderName;
}
void Package::setSenderAddress(const string &saddress)
{
senderAddress = saddress;
}
string Package::getSenderAddress() const
{
return senderAddress;
}
void Package::setSenderCity(const string &scity)
{
senderCity = scity;
}
string Package::getSenderCity() const
{
return senderCity;
}
void Package::setSenderState(const string &sstate)
{
senderState = sstate;
}
string Package::getSenderState() const
{
return senderState;
}
void Package::setSenderZip(const string &szip)
{
senderZip = szip;
}
string Package::getSenderZip() const
{
return senderZip;
}
void Package::setRecipientName(const string &rname)
{
recipientName = rname;
}
string Package::getRecipientName() const
{
return recipientName;
}
void Package::setRecipientAddress(const string &raddress)
{
recipientAddress = raddress;
}
string Package::getRecipientAddress() const
{
return recipientAddress;
}
void Package::setRecipientCity(const string &rcity)
{
recipientCity = rcity;
}
string Package::getRecipientCity() const
{
return recipientCity;
}
void Package::setRecipientState(const string &rstate)
{
recipientState = rstate;
}
string Package::getRecipientState() const
{
return recipientState;
}
void Package::setRecipientZip(const string &rzip)
{
recipientZip = rzip;
}
string Package::getRecipientZip() const
{
return recipientZip;
}
void Package::setShipWeight(double weight)
{
shipWeight = (weight < 0.0 ) ? 0.0 : weight;
}
double Package::getShipWeight() const
{
return shipWeight;
}
void Package::setShipRate(double rate)
{
shipRate = ( rate < 0.0) ? 0.0 : rate;
}
double Package::getShipRate() const
{
return shipRate;
}
//double Package::calculateCost() const
//{
// return shipWeight * shipRate;
//}
//The class TwoDayPackage is the first derived class from class Package
class TwoDayPackage : public Package
{
public:
TwoDayPackage(const string &, const string &, const string &, const string &, const string &, const string &,
const string &, const string &, const string &, const string &, double = 0.0, double = 0.0); //constructor
void setFlatFee(double);
double getFlatFee() const;
double calculateCost() const;
private:
double flatFee;
};
TwoDayPackage::TwoDayPackage(
const string &sname, const string &saddress, const string &scity, const string &sstate,
const string &szip, const string &rname, const string &raddress, const string &rcity,
const string &rstate, const string &rzip, double shipWeight, double shipRate)
//explicitly call base-class constructor
: Package(sname, saddress, scity, sstate, szip, rname, raddress, rcity, rstate, rzip, shipWeight, shipRate)
{
setFlatFee(flatFee); //validate and store flatFee
}
//set flatFee
void TwoDayPackage::setFlatFee(double fee)
{
flatFee = (fee < 0.0) ? 0.0 : fee;
}//end function setFlatFee
//return flatFee
double TwoDayPackage::getFlatFee() const
{
return flatFee;
}//end function getFlatFee
//calculate total cost
double TwoDayPackage::calculateCost() const
{
return flatFee + (getShipWeight() * getShipRate());
}
//The class OverNightPackage is the second derived class from class Package
class OverNightPackage : public Package
{
public:
OverNightPackage(const string &, const string &, const string &, const string &, const string &, const string &,
const string &, const string &, const string &, const string &, double = 0.0, double = 0.0, double = 0.0); //constructor
void setFee(double);
double getFee() const;
double calculateCost() const;
private:
double fee;
};
OverNightPackage::OverNightPackage(
const string &sname, const string &saddress, const string &scity, const string &sstate,
const string &szip, const string &rname, const string &raddress, const string &rcity,
const string &rstate, const string &rzip, double shipWeight, double shipRate)
//explicitly call base-class constructor
: Package(sname, saddress, scity, sstate, szip, rname, raddress, rcity, rstate, rzip, shipWeight, shipRate)
{
setFee(fee); //validate and store fee
}
//set fee
void OverNightPackage::setFee(double fee)
{
setFee = (fee < 0.0) ? 0.0 : fee;
}//end function setFee
//return fee
double OverNightPackage::getFee() const
{
return fee;
}//end function getFee
//calculate total cost
double OverNightPackage::calculateCost() const
{
return fee + (getShipWeight() * getShipRate());
}
//Test File
int main()
{
OverNightPackage box("John Doe", "789 Fire Street", "Hell", "MI", "48169", "Jane Doe", "987 Leg Sun Crossing", "Intercourse", "PA", "17534", 10.00, 1.50, .85);
TwoDayPackage parcel("John Doe", "789 Fire Street", "Hell", "MI", "48169", "Jane Doe", "987 Leg Sun Crossing", "Intercourse", "PA", "17534", 15.00, 1.05, 5.00);
cout << fixed << setprecision(2);
cout << "To ship a box with overnight delivery:\n"
<< "\nThe sender " << box.getSenderName()
<< "\n " << box.getSenderAddress()
<< "\n " << box.getSenderCity() << ", " << box.getSenderState() << " " << box.getSenderZip()
<< "\nThe recipient " << box.getRecipientName()
<< "\n " << box.getRecipientAddress()
<< "\n " << box.getRecipientCity() << ", " << box.getRecipientState() << " " << box.getRecipientZip()
<< "\nThe cost is $ " << box.calculateCost()
<< "\n\n\n\nTo ship a parcel with 2 day delivery:\n"
<< "\nThe sender " << parcel.getSenderName()
<< "\n " << parcel.getSenderAddress()
<< "\n " << parcel.getSenderCity() << ", " << parcel.getSenderState() << " " << parcel.getSenderZip()
<< "\nThe recipient " << parcel.getRecipientName()
<< "\n " << parcel.getRecipientAddress()
<< "\n " << parcel.getRecipientCity() << ", " << parcel.getRecipientState() << " " << parcel.getRecipientZip()
<< "\nThe cost is $ "<< parcel.calculateCost() << endl;
_getch();
}