stos w klasie

JU
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:1
0

Hej!
Jak odnieść się w mainie do stosu utworzonego w klasie? I jak generalnie operować na takim stosie?

Kopiuj
#include <iostream>
#include <stack>
#include <time.h>
#include <cstdlib>
#include <vector>

using namespace std;

class Samochod
{
public:
    stack <int> Pojemnosc;
};



int main()
{
    vector <Samochod> autko;

    srand(time(NULL));
    float b[4];
    for(int i=0;i<4;i++)
    {
        b[i] = rand()%10;
        autko.Pojemnosc.push(b[i]);
        autko.push_back(autko.Pojemnosc(b[i]));
    }

    return 0;
}

wyrzuca błąd przy próbie wczytania tego b[i] do Pojemnosc

edytowany 3x, ostatnio: julekogorek
daniel1302
A jakis przyklad klasy? Jak utworzysz obiekt to jestes w stanie dostac sie do publicznych skladowych klasy.
JU
jasne, wstawiłem kod. Wybaczcie jestem początkujący i w programowaniu i na tym forum
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:4 dni
  • Lokalizacja:Szczecin
2

Masz wektor (dynamiczną tablicę) klas, aby się do jednej odnieść musisz użyć operatora [], ale uprzednio musi ona mieć co najmniej jeden element.


au7h
  • Rejestracja:ponad 11 lat
  • Ostatnio:około rok
  • Postów:215
1

W twoim przypadku mając
vector<T> v;
możesz dodawać elementy do vectora przez v.push_back(T), dopiero po dodaniu elementy możesz się do niego odnieść przez [] przy czym wielkość takiego wektora po dodaniu 1 elementu wynosi 1, dodanie każdego nowego elementu zwiększa rozmiar vectora o 1

możesz zastosować coś takiego:

vector<T> v(size, T);
tworzy size elementowy vector typu T i przypisuje im wartość T

JU
okej, posiedzę jeszcze nad tym. Dzięki bardzo za pomoc!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.