聚合类特点:可以直接访问成员,具有特定的初始化语法。
聚合类需要满足以下条件:
1、所以成员是public
2、没有定义任何构造函数。
3、没有类内初始值。
4、没有基类,没有虚函数。
例如:
struct Data{
int ical
string s;
};
聚合类可以用初始化表初始化成员。
如 Data d = {111,"haha"}
初始化表中元素的顺序要与成员变量的定义顺序一致。当初始值表中的元素个数少于类成员变量个数时,靠后的成员被初始化为默认值。初始化列表的元素个数绝不能多于类成员数。
很显然,聚合类的条件也给他带来了不少缺点。
1、要求类的所有成员都是public的,也就是对外可见的,破坏了封装性。
2、由于没有构造函数,所以初始化每个成员的重任就交给了类的使用者,这样就导致容易出错。
3、添加删除某个成员后,所有的初始化语句都要修改。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。