Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

no appropriate default constructor available error

here is my code:

class package
{
protected:
    string name;
    string city;
    string state;
    int zip;
    double weight;
    double costPerOunce;

public:

    package::package(string Name, string City, string State, int Zip, double Weight, double CostPerOunce):
      name(Name), city(City), state(State),
      zip(Zip), weight(Weight), costPerOunce(CostPerOunce)
      {

      }
      double calculateCost()
    {
        return (weight * costPerOunce);
    }

};
class twoDayPackage: public package
{
protected:
    double flatFee;
public:
    twoDayPackage::twoDayPackage(double FlatFee):
      flatFee(FlatFee)
      {

      }
    double calculateCost()
    {
        return (weight * costPerOunce) + flatFee;

    }
};
int main()
{


    system ("pause");
    return 0;
}

i try to run this code and the error i get is as follows: error C2512: 'package' : no appropriate default constructor available

the error has something to do with inheritance of the base class constructor but i don't know exactly why the code isn't running. please help me.

like image 731
Mwiti Avatar asked Aug 23 '26 11:08

Mwiti


1 Answers

twoDayPackage::twoDayPackage(double FlatFee):
  flatFee(FlatFee)

is calling the base constructor package(), because you haven't specified anything else.

Add a line package::package(){}; in class package :)

like image 171
Melanie Avatar answered Aug 26 '26 00:08

Melanie



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!