不允许使用类型名

为什么不行啊

#include<iostream>

using namespace std;
//class stu
//{
//public:
// stu(int b);
// ~stu();
//public:
// int a;
//};
//stu::stu(int b)
//{
// a = b;
//}
//
//
//stu::~stu()
//{
//}
int main()
{
class str
{
public:
str(int b);
~str();
private:
int a;
};
str::str(int b)
{
a = b;
}


str::~str()
{
}


}