我目前正在开发一个需要嵌套结构的程序。虽然,我不确定我理解它。如果有人能的话,我希望你对此有所帮助。第一周学习C ++所以不要给我带来困难:P
我应该创建一个包含两个字符串成员的Person结构,第一个和最后一个。创建一个包含四个字符串成员,街道,城市,州和邮政编码的地址结构。并且还创建了一个嵌套结构Employee,它由三个成员组成。一个人 命名名称,名为homeAddress的地址成员和名为eid的int成员。
我认为我已经完成了大部分工作,但由于某些原因,我的地址homeAddress下不允许输入不完整的类型。此外,当它说创建一个嵌套结构“员工”这意味着我必须在某个地方声明员工吗?
这是我到目前为止所做的事情,提前谢谢。
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
struct Person {
string first;
string last;
};
struct Address {
string street;
string city;
string state;
string zipcode;
Person name;
Address homeAddress;
int eid;
};
答案 0 :(得分:2)
您的代码几乎已经完成。它应该是:
struct Person {
string first;
string last;
};
struct Address {
string street;
string city;
string state;
string zipcode;
};
struct Employee {
Person name;
Address homeAddress;
int eid;
};
现在这里的用词不当,嵌套也意味着可见性或范围。因此,如果您想在Address
中定义结构Person
和Employee
,它将如下所示:
struct Employee {
struct Address {
//..
};
struct Employee {
//..
};
Person name;
Address homeAddress;
int eid;
};
这样,您就可以Person
和Address
的范围仅限于Employee
的范围。
答案 1 :(得分:1)
你很亲密
struct Person {
string first;
string last;
};
struct Address {
string street;
string city;
string state;
string zipcode;
};
struct Employee {
Person name; // instance of Person struct from above
Address homeAddress; // instance of Address struct from above
int eid;
};
请注意,最后struct
是&#34;嵌套&#34;正如您所描述的那样,因为它是一个struct
,其中包含两个其他类型struct
的成员。