title: Constructor cannot be redeclared
body: <p>I'm practicing constructor overloads. I've learnt that constructor can be overloaded few times but when I try it says &quot;Constructor cannot be redeclared&quot;. What can be the problem? If I delete one of constructors it runs. Should I add destructor or what should I do?</p>
  <pre><code>#include &lt;iostream&gt;
  #include &lt;sstream&gt;
  
  using namespace std;
  
  class Cat
  {
  private:
      string name;
      string breed;
      int age;
      int weight;
  
  public:
      Cat(string newName, string newBreed, int newAge, int newWeight)
      {
          name = newName;
          breed = newBreed;
          age = newAge;
          weight = newWeight;
      }
  
      Cat(string nName, string nBreed, int nAge, int nWeight)
      {
          name = nName;
          breed = nBreed;
          age = nAge;
          weight = nWeight;
      }
  
      string toString()
      {
          stringstream ss;
          ss &lt;&lt; &quot;Name - &quot;;
          ss &lt;&lt; name &lt;&lt; endl;
          ss &lt;&lt; &quot;Breed - &quot;;
          ss &lt;&lt; breed &lt;&lt; endl;
          ss &lt;&lt; &quot;Age - &quot;;
          ss &lt;&lt; age &lt;&lt; endl;
          ss &lt;&lt; &quot;Weight - &quot;;
          ss &lt;&lt; weight &lt;&lt; endl;
  
          cout &lt;&lt; ss.str() &lt;&lt; endl;
  
          return ss.str();
      }
  };
  
  int main()
  {
      Cat a(&quot;Illidan&quot;, &quot;Maine-Coon&quot;, 2, 12);
      a.toString();
  
      Cat b(&quot;Sammy&quot;, &quot;Turkish Angora&quot;, 2, 8);
      b.toString();
  }
  </code></pre>