朋友们进来帮我解释这情况啊,谢谢了
大家用编译器编译下面2段代码,其实代码是一样的,只是我把注释行从上面一部分移到了下面,会发现其中一个报unexpected end of file found的错误,请问这是怎么回事,问题出在哪?#include<iostream>
#include<string>
using namespace std;
class person
{
private:
string *p[3];
static int m;
public:
person(string *a[]);
~person();
void setname(string *name);
void show();
};
int person::m=1;
/*person::person(string *a[])
{
// cout<<"creat ""<<m<<"" person!"<<endl;
for(int i=0;i<3;i++)
{
// p[i]=new string[a->length()+1];
p[i]=a[i];
// m++;
}
person::~person();
{
cout<<"delete"<<m-1<<"person!"<<endl;
}
void person::setname(string *name)
{
p[0]=name;
}
void person::show();
{
cout<<"姓名:"<<*(this->p[0])<<endl;
cout<<"地址:"<<*(this->p[1])<<endl;
cout<<"邮政编码:"<<*(this->p[2])<<endl;
}
void main()
{
string a1("我我我"),a2("江西于都"),a3("10002");
string *s[3]={&a1,&a2,&a3};
person p1(*s);
p1.show();
char name;
cin>>name;
setname(&name);
p1.show();
}
*/
#include<iostream> (这里注释部分我就没写上来了,写不写都报错)
#include<string>
using namespace std;
class person
{
private:
string *p[3];
static int m;
public:
person(string *a[]);
~person();
void setname(string *name);
void show();
};
int person::m=1;
person::person(string *a[])
{
for(int i=0;i<3;i++)
{
p[i]=a[i];
}
希望明白的朋友能够给我解释一下,其他部分的问题就先放一边,这个也是我进行改错时候遇到的,还没改好,只是就上面提到的一点,我搞不明白了!