字符串声明问题c++

String declaration problems c++

我试图编译这个简单的程序,但每当我尝试编译它时,它都会给我很多错误,而且都是与字符串相关的错误,例如我的字符串的“syntax error:identifier 'string'”和“undeclared identifier”函数和变量。 我试图删除 using namespace std; 并改用 std::string 但仍然出现相同的错误。 我正在使用 Visual Studio 2017.

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

int main() {
    Animal Cat;

    cin.get();
}

那就是 Animal.h:

class Animal
{
public:
    Animal();

    void SetAnimalName(string x);
    string GetName();

    void SetAnimalAge(int y);
    int GetAnimalAge();

private:
    string AnimalName;
    int AnimalAge;
};

Animal.cpp

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

Animal::Animal()
{
    AnimalName = "cat";
    AnimalAge = 3;
    std::cout << "the Animal is: " << AnimalName << std::endl << "its Age is: " << AnimalAge;
}

void Animal::SetAnimalName(string x) {
    AnimalName = x;
}
string Animal::GetName() {
    return AnimalName;
}
void Animal:: SetAnimalAge(int y) {
    AnimalAge = y;
}
int Animal::GetAnimalAge() {
    return AnimalAge;
}

您的 Animal.h 中缺少 #include <string>,这会破坏 main.cpp 的编译。

您的 Animal.h 中还缺少 std::string。作为一般经验法则,不要使用 using namespace std 并坚持使用 std 命名空间(在您的情况下为 std::string)作为标准库函数的前缀。