聚合类(aggregate class)使用户可以直接访问其成员,并且具有特殊的初始化语法。当一个类满足以下条件时,我们说它是聚合的:
- 所有成员都是public
- 没有定义构造函数
- 没有类内初始值
- 没有基类,也没有虚函数
我们可以提供一个花括号扩起来的成员初始值列表,并用它初始化聚合类的数据成员,初始值的顺序必须与生命的顺序一致,初始值列表的元素个数少于类的成员数量,则靠后的成员被值初始化。
struct Person
{
std::string name;
int height;
};
int main()
{
Person person={"xiaohong",10};
std::cout << person.name<<" "<<person.height << std::endl;
system("pause");
return 0;
}