求C++类的继承构造函数有关问题!';' : expected member function definition to end with '}'

求C++高手指点类的继承构造函数问题!';' : expected member function definition to end with '}'
#include<iostream>
using namespace std;
class Mammal{
private:
int age,weight;
public:
Mammal(int a=0,int b=10);
Mammal(Mammal& k);
~Mammal(){cout<<"Manmal 析构函数被调用"<<endl;}
};
class Dog:public Mammal{
public:
Dog(int x,int y,int z,int q,int t):Mammal(x,y),B(q,t);
~Dog(){cout<<"Dog 析构函数被调用"<<endl;}
private:
int value;
Mammal B;
};
Mammal::Mammal(int a,int b){
age=a;
weight=b;
cout<<"Mammal构造函数被调用"<<endl;

}
Mammal::Mammal(Mammal& k){
age=k.age;
weight=k.weight;
cout<<"Mammal复制够着函数被调用"<<endl;
}
Dog::Dog(int x,int y,int z,int q,int t){
value=z;
cout<<"Dog析构函数被调用"<<endl;
}
int main()
{
Dog A(1,2,3,4,5);
return 0;


}


提示错误::\mico visual C++\练习代码\Cppkenben7-6.cpp(13) : error C2969: syntax error : ';' : expected member function definition to end with '}'
Error executing cl.exe.
求指点,改正啊

------解决方案--------------------
C/C++ code

#include<iostream>
using namespace std;

class Mammal{
private:
int age,weight;
public:
Mammal(int a=0,int b=10);
Mammal(Mammal& k);
~Mammal(){cout<<"Manmal 析构函数被调用"<<endl;}
};
class Dog:public Mammal{
public:
Dog(int x,int y,int z,int q,int t):Mammal(x,y),value(z),B(q,t){}
~Dog(){cout<<"Dog 析构函数被调用"<<endl;}
private:
int value;
Mammal B;
};
Mammal::Mammal(int a,int b){
age=a;
weight=b;
cout<<"Mammal构造函数被调用"<<endl;

}
Mammal::Mammal(Mammal& k){
age=k.age;
weight=k.weight;
cout<<"Mammal复制够着函数被调用"<<endl;
}

int main()
{
Dog A(1,2,3,4,5);

system("pause");
return 0;
}

------解决方案--------------------
:Mammal(x,y),B(q,t)放在定义处,而不是声明处
------解决方案--------------------
Dog(int x,int y,int z,int q,int t):Mammal(x,y),B(q,t);
构造函数没有实体啊
Dog(int x,int y,int z,int q,int t):Mammal(x,y),B(q,t){}
------解决方案--------------------
探讨

谢谢啊,懂了,以后还请多指点下小弟啊!

------解决方案--------------------
构造函数没有实体