🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #291802

Inicjowanie tablicy klas

#291802
From: =?UTF-8?Q?Piotr_
Date: Fri, 28 Jul 2023 14:58
38 lines
1177 bytes
Jak jest klasa bez domyślnego konstruktora:

class Ala
{
   int A;
public:
   Ala(int a):A(a){}
};

to tablicę takich klas mogę zainicjować:

Ala Tab[2]={Ala(1),Ala(2)};

Ale nie wiem jak zainicjować taką tablicę w konstruktorze kolejnej
klasy. Chodziło by o coś w stylu:

class Tablica
{
   Ala T[2];
public:
   Tablica():T({Ala(1),Ala(2)}){}	// --- to nie przechodzi
};

Próbowałem trochę poszukać w necie ale na hasło o inicjalizacji tablic
klas znajduję tylko przykłady jak moje Tab[], które działa.

Potrzebuję użyć klasy Ala w kilku różnych klasach, ale tylko w jednej
będzie tabela. Czyli mogę dołożyć default konstruktor z danymi jak do
tej jednej klasy i dopóki nie będę potrzebował drugiej klasy z tabelką
to 'temat załatwiony'.

Ale, choć zapewne nigdy mi to nie będzie potrzebne (nie jestem
programistą) to z czystej ciekawości chciałbym wiedzieć jak zainicjować
tabelę elementów klasy nie posiadającej default konstruktora w
konstruktorze klasy zawierającej tę tabelę.

Widziałem jakieś info, które może sugerować, że w C++ 11 coś w tej
kwestii mogło się zmienić. Mój kompilator jest starszy.
P.G.

Message-ID: <ua0dsb$hq8$1$PiotrGalka@news.chmurka.net>
Path: polish.pugleaf.net!archive.newsdeef.eu!apf1.newsdeef.eu!not-for-mail