title: Default constructor for an inherited class
body: <p>I've reduced my problem down to the following example code:</p>
  
  <pre><code>class pokemon{
      public:
          pokemon(int n);
  };
  
  class MewTwo : public pokemon {
      public:
          MewTwo(int n);
  };
  
  MewTwo::MewTwo(int n) {}
  </code></pre>
  
  <p>Which produces an error:</p>
  
  <blockquote>
    <p>no matching function for call to
    ‘pokemon::pokemon()’</p>
  </blockquote>
  
  <p>What I <strong>think</strong> is happening is that a default constructor for pokemon is called when I try to write the MewTwo constructor, which doesn't exist. I'm relatively new to C++ so I'm just guessing here. Any ideas?</p>
  
  <p>Restraint: Fixes cannot modify or add public members to the classes.</p>