C++ 创建采用参数C++;
这个问题很简单,但我找不到关于这个让我吃惊的具体问题的答案 当试图调用更改私有类字符串的类函数时,我得到一个错误字符串 编辑:我已经解决了这个问题-我忘记在头文件中包含所需的名称空间和程序集引用 以下是.h文件代码:C++ 创建采用参数C++;,c++,C++,这个问题很简单,但我找不到关于这个让我吃惊的具体问题的答案 当试图调用更改私有类字符串的类函数时,我得到一个错误字符串 编辑:我已经解决了这个问题-我忘记在头文件中包含所需的名称空间和程序集引用 以下是.h文件代码: #ifndef ANIMAL_H #define ANIMAL_H class Animal { public: Animal(); ~Animal(); string getName(); void setName(string animalNa
#ifndef ANIMAL_H
#define ANIMAL_H
class Animal
{
public:
Animal();
~Animal();
string getName();
void setName(string animalName);
private:
string name;
};
#endif
下面是课程。cpp:
#include "Animal.h"
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
Animal::Animal()
{
}
Animal::~Animal()
{
}
void Animal::setName(string animalName)
{
name = animalName;
}
string Animal::getName()
{
return name;
}
看起来您忘记在标题中包含
。字符串对象也存在于std
命名空间中,因此您需要提供一个完全限定的名称来使用它(不要将usingnamespace
添加到标题中)
\ifndef ANIMAL\u H
#给动物下定义
#include//您需要将此
类动物
{
公众:
动物();
~Animal();
std::string getName();
void setName(std::string animalName);
私人:
std::字符串名;
};
#恩迪夫
在每个字符串声明之前,您的类标题缺少字符串库声明和std::
#ifndef ANIMAL_H
#define ANIMAL_H
#include <string>
class Animal
{
public:
Animal();
~Animal();
std::string getName();
void setName(std::string animalName);
private:
std::string name;
};
#endif
\ifndef ANIMAL\u H
#给动物下定义
#包括
类动物
{
公众:
动物();
~Animal();
std::string getName();
void setName(std::string animalName);
私人:
std::字符串名;
};
#恩迪夫
@编辑
向上
你赢了我!就在我发布我的时,您的答案出现了。您遇到了什么错误?您忘记了说明错误代码和错误消息是什么,以及它们发生在哪一行。@Pharap这就是问题所在,谢谢。没有意识到.h文件中也需要程序集引用。
`error C2146: syntax error : missing ';' before identifier 'getName'`
#ifndef ANIMAL_H
#define ANIMAL_H
#include <string> // You need to include this
class Animal
{
public:
Animal();
~Animal();
std::string getName();
void setName(std::string animalName);
private:
std::string name;
};
#endif
#ifndef ANIMAL_H
#define ANIMAL_H
#include <string>
class Animal
{
public:
Animal();
~Animal();
std::string getName();
void setName(std::string animalName);
private:
std::string name;
};
#endif