C++中的聚合类定义与用法分析
2017-08-08 10:38
405 查看
本文实例讲述了C++中的聚合类。分享给大家供大家参考,具体如下:
聚合类是一种没有用户定义的构造函数,没有私有(private)和保护(protected)非静态数据成员,没有基类,没有虚函数。这样的类可以由封闭的大括号用逗号分隔开初始化列表。下列的代码在 C 和 C++ 具有相同的语法:
struct C { int a; double b; }; struct D { int a; double b; C c; }; // initialize an object of type C with an initializer-list C c = { 1, 2 }; // D has a sub-aggregate of type C. In such cases initializer-clauses can be nested D d = { 10, 20, { 1, 2 } };
如果一个类里面包含了用户自定义的构造函数,而又用{ xx, xx, ...}来初始化它的对象,编译器就会报错
vc ―― error C2552: "xx" 不能用初始值设定项列表初始化非聚合
gcc―― error: xx must be initialized by constructor, not by '{...}'
聚合定义为:
数组
没有以下内容的类、结构和联合:
构造函数
私有或受保护的成员
基类
虚函数
编译器不允许在包含构造函数的聚合中使用数据类型。
希望本文所述对大家C++程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- C++中宏的定义与用法(现已被内联函数所代替)
- 从Java到C++——常量值的定义和基本用法
- C++的声明和定义及extern用法
- C和C++中typedef的用法分析
- javascript中parseInt()函数的定义和用法分析
- c++中inline的用法分析
- C++重载函数定义和用法
- 探讨C++中数组名与指针的用法比较分析
- 关于C/C++中typedef的定义与用法总结
- 深入分析C++中声明与定义的区别
- c++ 中类重复定义的分析与解决办法
- C++ 异常机制分析(C++标准库定义了12种异常,很多大公司的C++编码规范也是明确禁止使用异常的,如google、Qt)
- C++中回调函数(CallBack)的用法分析
- 关于C/C++中typedef的定义与用法总结
- Go语言中的方法定义用法分析
- 深入分析C++中声明与定义的区别
- Android编程图片加载类ImageLoader定义与用法实例分析
- 正则中的回溯定义与用法分析【JS与java实现】
- 浅谈C++中指针和引用的区别 指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。 1.指针和引用的定义和性质区别: (1)指针:指针是一
- C++中类定义时不允许使用不完整的类型错误提示原因分析