聚合类特点:可以直接访问成员,具有特定的初始化语法。
聚合类需要满足以下条件:
1、所以成员是public
2、没有定义任何构造函数。
3、没有类内初始值。
4、没有基类,没有虚函数。
例如:
struct Data{
int ical
string s;
};
聚合类可以用初始化表初始化成员。
如 Data d = {111,"haha"}
初始化表中元素的顺序要与成员变量的定义顺序一致。当初始值表中的元素个数少于类成员变量个数时,靠后的成员被初始化为默认值。初始化列表的元素个数绝不能多于类成员数。
很显然,聚合类的条件也给他带来了不少缺点。
1、要求类的所有成员都是public的,也就是对外可见的,破坏了封装性。
2、由于没有构造函数,所以初始化每个成员的重任就交给了类的使用者,这样就导致容易出错。
原文链接:https://www.f2er.com/javaschema/285863.html