以下程序经VS2010编译通过
华中科技大学 C++ 实验十 类与对象的基本概念 第三题
#include<iostream>
#include<cstring>
#include<iomanip>
using namespace std;
class Person{
private:
char IdPerson[19];
char Name[20];
char Sex[10];
int Birthday;
char HomeAddress[50];
public:
Person();
void CinIdPerson();
void CinName();
void CinSex();
void CinBirthday();
void CinHomeAddress();
void Show();
Person(Person&cop)//拷贝构造函数
{
strcpy(IdPerson,cop.IdPerson);
strcpy(Name,cop.Name);
strcpy(Sex,cop.Sex);
Birthday=cop.Birthday;
strcpy(HomeAddress,cop.HomeAddress);
}
};
Person::Person()//构造函数
{
IdPerson[0]='\0';Name[0]='\0';Sex[0]='\0';Birthday=0;HomeAddress[0]='\0';
}
void Person::CinIdPerson()
{
cout<<"请输入身份证号"<<endl;
cin>>IdPerson;
}
void Person::CinName()
{
cout<<"请输入姓名"<<endl;
cin>>Name;
}
void Person::CinSex()
{
cout<<"请输入性别"<<endl;
cin>>Sex;
}
void Person::CinBirthday()
{
cout<<"请输入生日"<<endl;
cin>>Birthday;
}
void Person::CinHomeAddress()
{
cout<<"请输入家庭地址"<<endl;
cin>>HomeAddress;
}
void Person::Show()//显示数据
{
cout<<"======================================="<<endl;
cout<<"身份证号:"<<IdPerson<<endl<<"姓名:"<<Name<<endl<<"性别:"<<Sex<<endl<<"生日:"<<Birthday<<endl<<"家庭住址:"<<HomeAddress<<endl;
cout<<"======================================="<<endl;
}
void main()
{
int i=0,j,k;
Person Id[100];
cout<<"本程序最多支持记录100人"<<endl;
do{
cout<<"请输入学生编号"<<endl;
cin>>i;
Id[i].Show();
cout<<"修改请按 1,不改请按 0"<<endl;
cin>>j;
for(;j;)
{
Id[i].CinIdPerson();
Id[i].CinName();
Id[i].CinSex();
Id[i].CinBirthday();
Id[i].CinHomeAddress();
Id[i].Show();
j=0;
}
cout<<"继续编辑请按 1,返回选择请按 0"<<endl;
cin>>k;
}while(k=1);
}
...在册人员类(Person)。数据成员包括:身份证号(IdPerson),姓名...
Id[i].CinIdPerson();Id[i].CinName();
undeclared identifier 求解答
undeclared identifier 的意思是标示符没有定义。你仔细检查下提示所在的行,看看引用的标示符是否在前面定义,是否写错。