C++关于用string类代替char数组定义的Preson类的头文件问题,请大家帮我看看错在哪里?

来源:百度知道 编辑:UC知道 时间:2024/05/25 15:29:18
关于用string类代替char数组定义的Preson类的头文件问题,请大家帮我看看错在哪里?
#ifndef PERSON_H_
#define PERSON_H_

#include<string>

class Person
{
private:
enum {LIMIT=25};
string lname;//这里有错
char fname[LIMIT];
public:
Person(){lname="";fname[0]='\0';}
Person(const string & ln,const char * fn="Heyyou");//这里有错
~person();
void Show() const;
void FormalShow() const;
};

#endif

建议
1、将
string lname;
修改为
std::string lname;
2、将
const string & ln
修改为
const std::string & ln

如果不做上述两项修改,还可以在指令
#include <string>
后面添加一行
using namespace std;
效果也是一样的。

#include <iostream>
using namespace std;
就行了,不用#include<string>

首先,不知道你使用的编译器是什么,而我在C-Free 4.0和C++ Builder里都编译通过了