next up previous
Array-Initialisierung


Tests zur Initialisierung von Arrays von Objekten der definierten C++-Typen in main-Funktion:

 

                      // constructor, but no implicit default:
// NoDefaultC ANoDefC1[2];
// no matching function for call to `NoDefaultC::NoDefaultC ()'
// candidates are: NoDefaultC::NoDefaultC(const NoDefaultC &)
//                 NoDefaultC::NoDefaultC(int, char *, float)
                      //   no aggregate initialization:
// NoDefaultC ANoDefC2[] = {{10, "100", 10.10}, {11, "110", 11.11}};
//  subobject of type `NoDefaultC' must be initialized by constructor,
//  not by `{10, "100", 0x00000000000000000000980099999999a1994002}'
//  subobject of type `NoDefaultC' must be initialized by constructor,
//  not by `{11, "110", 0x00000000000000000000c00028f58f5cb1c24002}'
                      //   constructor initialization:
  NoDefaultC ANoDefC3[] = {NoDefaultC(12, "120", 12.12),
                           NoDefaultC(13, "130", 13.13)};
                      // constructor, explicit default too:
// DefaultC ADefC1[] = {{14, "140", 14.14}, {15, "150", 15.15}};
//  subobject of type `DefaultC' must be initialized by constructor,
//  not by `{14, "140", 0x000000000000000000004000d70a70a3e23d4002}'
//  subobject of type `DefaultC' must be initialized by constructor,
//  not by `{15, "150", 0x00000000000000000000680066666666f2664002}'

  DefaultC ADefC2[2];
  DefaultC ADefC3[] = {DefaultC(16, "160", 16.16),
                       DefaultC(17, "170", 17.17)};

  printOn(cout, APuS,      2, "PublicS");
  printOn(cout, APuC,      2, "PublicC");
  printOn(cout, ANoDefC3,  2, "NoDefaultC");
  printOn(cout, ADefC2,    2, "DefaultC");
  printOn(cout, ADefC3,    2, "DefaultC");

  return 0;
};


next up previous