C++における集約クラス

4060 ワード

集約クラスは、ユーザー定義のないコンストラクション関数であり、プライベート(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 '{...}'

 
    

じゅうごう

  • には、
  • コンストラクタ
  • プライベートまたは されたメンバー
  • ベースクラス
  • ダミー
  • コンパイラは、コンストラクタを む でデータ を することを しません.