stos w klasie

0

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

#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

2

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

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1