类头,字符串不命名类型

Class Header , string does not name a type

本文关键字:类型 字符串 类头      更新时间:2023-10-16

你好,我正在努力完成我的作业。当我尝试分离一个类,然后稍后调用它时,出现了编译错误。但是整个测试功能正常工作。它在整个文本中都有这个类。基本上,当我试图从文本分离类,我有一个错误信息。

#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;
}`

但是当我分离类时,:

#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;
}`

但是当我分离类时,我在代码块中得到一个错误。请帮助。

您忘记在Person.h中填写using namespace std;

而且,在Person.h上没有任何头警卫,这在这样一个简单的程序中不会造成问题,但一旦多个文件包含Person.h,就会出现问题。