Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Dynamiczne powiększanie rozmiaru tablicy

Ostatnio zmodyfikowano 2012-01-07 11:58
Autor Wiadomość
xevuel
Temat założony przez niniejszego użytkownika
[C++] Dynamiczne powiększanie rozmiaru tablicy
» 2012-01-07 09:34:41
Dopiero zaczynam naukę klas, a w mojej książce nie ma takiego przykładu i nie wiem jak wykonać coś takiego:
1. Definiuję strukturę
C/C++
struct oper
{
    string name;
    int priority;
};
2. Umieszczam tablicę tych struktur w sekcji private klasy.
C/C++
oper * ops;
3. Przy wywołaniu funkcji test chcę powiększać rozmiar tej tablicy, który nie może być zdefiniowany na stałe, o 1 i dopisywać do kolejnego elementu wartości przekazane przez argumenty funkcji.

Mam problem z krokiem trzecim. Co mam wpisać w tej funkcji:
C/C++
klasa::test( string name, int priority )
{
    //
}
Myślałem o czymś takim:
ops[ ap ] = new oper;
, ale się nie kompiluje :(

Dodam, że nie chciałbym używać vectora. Proszę o pomoc :)
P-47450
jsc
» 2012-01-07 10:14:18
W 3 możesz zrobić coś takiego (pseudo kod):


Zakładam że masz tablicę A o rozmiarze a

utwórz tablicę B o rozmiarze b = a + 1
skopiuj zawartość tablicy A do tablicy B
zapisz do ostatniej komórki tablicy B argument funkcji
zniszcz tablicą A
utwórz tablicę A o rozmiarze b
skopiuj zawartość tablicy B do tablicy B
zniszcz tablicę B

Najlepszy rozmiar początkowy to 0.
P-47452
xevuel
Temat założony przez niniejszego użytkownika
» 2012-01-07 10:16:24
Hmm... dobre :) Jak nie będzie innych pomysłów zastosuję to, ale na razie czekam jeszcze na inne sugestie :)
P-47453
pekfos
» 2012-01-07 11:21:07
std::vector?
P-47455
xevuel
Temat założony przez niniejszego użytkownika
» 2012-01-07 11:39:10

Dodam, że nie chciałbym używać vectora
Chodzi o to, że nie chcę dodawać jeszcze jednego pliku nagłówkowego bez konieczności, a jak widzę taka konieczność nie zachodzi :)
P-47456
jsc
» 2012-01-07 11:45:21
Podejście do programowania w stylu:

Chodzi o to, że nie chcę dodawać jeszcze jednego pliku nagłówkowego bez konieczności, a jak widzę taka konieczność nie zachodzi :)
jest bardzo ryzykowne.
P-47457
SeaMonster131
» 2012-01-07 11:48:54
Po co sobie utrudniać życie? :)
P-47458
xevuel
Temat założony przez niniejszego użytkownika
» 2012-01-07 11:58:42

Po co sobie utrudniać życie? :)
Cóż... Normalnie tego nie robię, ale jak zaznaczyłem na początku dopiero się uczę pisania w klasach. W związku z tym chciałbym jak najwięcej przećwiczyć :)

//edit:
Dobra, zastosowałem rozwiązanie jsc-a. Działa, więc temat zamykam :)
P-47459
« 1 »
  Strona 1 z 1