聚合类

聚合类特点:可以直接访问成员,具有特定的初始化语法。


聚合类需要满足以下条件:

1、所以成员是public

2、没有定义任何构造函数。

3、没有类内初始值。

4、没有基类,没有虚函数。


例如:

struct Data{

int ical

string s;

};

聚合类可以用初始化表初始化成员。

如 Data d = {111, "haha"}

初始化表中元素的顺序要与成员变量的定义顺序一致。当初始值表中的元素个数少于类成员变量个数时,靠后的成员被初始化为默认值。初始化列表的元素个数绝不能多于类成员数。


很显然,聚合类的条件也给他带来了不少缺点。

1、要求类的所有成员都是public的,也就是对外可见的,破坏了封装性。

2、由于没有构造函数,所以初始化每个成员的重任就交给了类的使用者,这样就导致容易出错。

3、添加删除某个成员后,所有的初始化语句都要修改。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值