理解嵌套结构
Understanding Nested Structures
我目前正在编写一个需要嵌套结构的程序。虽然,我不确定我理解它。如果有人可以的话,我希望你能帮忙。第一周学习c++,所以不要为难我:P
我应该创建一个Person结构包含两个字符串成员,第一和最后。创建包含四个字符串成员的Address结构:街道、城市、州和邮政编码。还要创建一个嵌套结构Employee,它由三个成员组成。个人成员指定的name,一个名为homeAddress的Address成员和一个名为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;
};
您的代码几乎完成了。应该是:
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
的作用域。
你很接近了
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
是"嵌套的",因为它是一个struct
,包含的成员是struct
的另外两种类型。
相关文章:
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 用C#中的并集模拟C++嵌套结构
- 如何在 C++11 中查找和更新向量中的一个嵌套结构
- Lambda 捕获、初始值设定项和嵌套结构
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 使用g++静态初始化带有命名标签的嵌套C++结构
- 重载嵌套结构/类的流插入运算符
- C++将结构传递给函数以访问嵌套结构
- C++ 在外部使用嵌套结构实现类函数
- 嵌套结构,从由空行分隔的文件中读取数据
- 在 glsl opengl 中将嵌套结构数组作为统一传递
- 如何创建结构的结构结构,等等嵌套多个结构?
- 嵌套在联合中的结构嵌套在 C 中的结构中
- 受保护的嵌套结构不能用作派生外部类中的返回类型?
- C++中的嵌套结构
- 嵌套的模板结构构造函数实现
- 使用嵌套结构初始化并集
- C++ 中的嵌套结构函数
- C++中匿名类型的嵌套结构