Article View: pl.comp.lang.c
Article #310474Re: Inicjowanie tablicy klas
From: Piotr Gałka
Date: Tue, 01 Aug 2023 13:39
Date: Tue, 01 Aug 2023 13:39
63 lines
3980 bytes
3980 bytes
W dniu 2023-07-29 o 10:59, JDX pisze:
> On 28.07.2023 14:58, Piotr Gałka wrote:
> [...]
>> 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
>> };
> Odpowiedź masz np. tutaj:
> https://stackoverflow.com/questions/11837078/initialize-a-constant-sized-array-in-an-initializer-list, hint: nawiasy klamrowe zamiast zwykłych.
Tablica int to jednak coś nieco innego niż tablica klas. Da się
inicjować bezpośrednio liczbami, a tu trzeba jakoś zamienić te liczby na
obiekty klasy.
Żaden z wariantów:
Tablica():T({Ala(1),Ala(2)}){} // to był mój oryginalny strzał
Tablica():T{{Ala(1),Ala(2)}}{}
Tablica():T({Ala{1},Ala{2}}){}
Tablica():T{{Ala{1},Ala{2}}){}
nie przechodzi.
> W każdym razie tak czy siak musisz wywalić ten zabytkowy kompilator, którego używasz tam, gdzie jego miejsce, czyli na śmietnik. Na pewno znajdzie się coś bardziej współczesnego. W końcu standard C++ 11 jest już na rynku od dosyć dawna.
Większość programów (niektóre względnie często modyfikuję) mam napisane
pod Builderem 5.
Kilka mam pod Builderem 2010.
Te próby z tą klasą robię pod Builderem 2010.
Właśnie zrezygnowałem z wkładania do klasy Ala referencji do innej klasy
bo wtedy default konstruktor nie miałby jak jej zainicjować - będę
podawał referencje jako parametr niektórych funkcji klasy Ala.
Nie przerzuciłem się ze wszystkim na Buildera 2010 bo się okazało, że
pod Win7 on pozwalał się tylko raz uruchomić, a ja mam odruch zamykania
programów gdy uruchamiam inne i musiałbym co chwilę komputer resetować.
Od roku mam Win10 pod którym Builder 2010 daje się uruchamiać wiele razy.
Zainstalowałem go, zarejestrowałem i sprawdziłem, że działa i odłączyłem
się od sieci.
Minęło z pół roku i chciałem go użyć, a on, że coś się nie zgadza i
muszę się ponownie zarejestrować.
Wyczyściłem komputer ze wszystkiego co ważne i połączyłem się do sieci
aby znów się zarejestrować. Zaraz się odłączyłem. Od tamtej pory na
razie kompilator działa :)
Nie znam innych kompilatorów. Podobno musiałbym od nowa się uczyć jak
sobie budować interface użytkownika - nie mam na to czasu.
Dla moich sporadycznych potrzeb szkoda wywalać kasę na nowszą wersję.
Ja piszę tylko programiki do rozwiązania jakichś naszych potrzeb
wewnętrznych - produkcja, testowanie, konfiguracja, wrzucenie upgrade'u
do urządzenia.
Właśnie wróciłem do programu napisanego w 2014 aby się zorientować, że
jakiś idiota (czyli ja) pisał komentarze tak, że wydawało mu się, że
wyjaśniają o co biega.
P.G.
Technical Details
Message-ID:
<uab1q1$sb0$1$PiotrGalka@news.chmurka.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.213.192.88.68!not-for-mailReferences:
<ua0dsb$hq8$1$PiotrGalka@news.chmurka.net> <ua2k9g$s01$1$jdx@news.chmurka.net>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.213.192.88.68!not-for-mail From: Piotr Gałka <piotr.galka@cutthismicromade.pl> Newsgroups: pl.comp.lang.c Subject: Re: Inicjowanie tablicy klas Date: Tue, 1 Aug 2023 15:39:50 +0200 Organization: news.chmurka.net Message-ID: <uab1q1$sb0$1$PiotrGalka@news.chmurka.net> References: <ua0dsb$hq8$1$PiotrGalka@news.chmurka.net> <ua2k9g$s01$1$jdx@news.chmurka.net> NNTP-Posting-Host: 213.192.88.68 MIME-Version: 1.0 Injection-Date: Tue, 1 Aug 2023 13:37:05 -0000 (UTC) Injection-Info: news.chmurka.net; posting-account="PiotrGalka"; posting-host="213.192.88.68"; logging-data="29024"; mail-complaints-to="abuse-news.(at).chmurka.net" User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cancel-Lock: sha1:6nAY2acpXkGv2t7Fwpv8ZJOTd6g= sha256:WeD90l32wzqDAwQi5WqOHgH+YYLqgSkA5PXQQxeFnG4= sha1:OcsgGP2V4Mf4US/eYkcXSlhG/tw= sha256:L2lI4IWT9/YtsRiCSsU+X7gyOMZ7vYmNTp7Uk3XXxRQ= In-Reply-To: <ua2k9g$s01$1$jdx@news.chmurka.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit