Class Header , string 没有命名类型

Class Header , string does not name a type

嗨,我正在努力完成作业。当我尝试分离一个 class,然后稍后调用它时出现编译错误。但整个测试功能正常工作。它在整个文本中都有 class。基本上,当我尝试将 class 与文本分开时,我会收到一条错误消息。

#include <iostream>
#include<string>
using namespace std;

class Person
{
private:
 string alpha;
int beta;

public:
Person(string Name, int Age)
{
    alpha = Name;
    beta = Age;
}
string getName()
{
    return alpha;
}
int getAge()
{
    if (beta < 0)
    {   beta = 0;
        cout << "Error. A negative age cannot be entered. " << endl;
        }
    if (beta > 120)
    {
        cout << "Damn you're old. How many heart transplants have you had? You Vampire " << endl;
    }
    return beta;
}
void setName(string alpha)
{

}
void setAge(int beta);
void display();

};

int main()
{


Person Lu("Jess ", 22);
Person Rose("Gary ", 49);
cout << Lu.getAge() << "   " << Lu.getName() <<endl;
cout << Rose.getAge() << "   " << Rose.getName() << endl;
return 0;
}`

但是当我分开 class,:

#include <iostream>
#include <string>

class Person
{
private:
   string alpha;
  int beta;

public:
    Person(string Name, int Age)
{
    alpha = Name;
    beta = Age;
}
string getName()
{
    return alpha;
}
int getAge()
{
    if (beta < 0)
    {   beta = 0;
        cout << "Error. A negative age cannot be entered. " << endl;
        }
    if (beta > 120)
    {
        cout << "Damn you're old. How many heart transplants have you had? You Vampire " << endl;
    }
    return beta;
}
void setName(string alpha)
{

}
void setAge(int beta);
void display();

};

主文件

#include <iostream>
#include "Person.h"
#include <string>
using namespace std;


int main()
{

Person Lu("Jess ", 22);
cout << Lu.getAge() << "   " << Lu.getName() <<endl;

    return 0;
}`

但是当我分离 class 时,我在代码块中遇到错误。请帮忙。

您忘记在 Person.h 中输入 using namespace std;

此外,您在 Person.h 上没有任何 header 守卫,这不会在如此简单的程序中造成问题,但一旦包含多个文件 [=15] =].