C/C++ Class STOS - błędy

0

Witam,
na zajęciach dostaliśmy kod do przepisania, jednak po przepisaniu pojawiły się błędy i mamy sami zrobić to tak żeby działało.
Ktoś byłby w stanie powiedzieć co i jak ? Gdzie jest błąd i pomógł to naprawić?

using namespace std;
class stos {
      private:
        int *tab;
        int wsk_stosu;
      public:
        stos();
        void push (int element);
        int pop();
        ~stos();
        };
stos::stos(){
             wsk_stosu=0;
             tab= new int [100];
             }
void stos::push(int element){
                  tab[wsk_stosu]=element;
                  wsk_stosu++;
                  cout<<" ... ;
                  }
int stos::pop(){
    cout<<" ... ;
    wsk_stosu--;
    return tab[wsk_stosu];
}

stos::stos(){
         
         
         }
         
                                                   
                                     
int main(int argc, char *argv[])
{
    stos<int> stos intow ;
    stos.push(15);
    
    cout << stos.pop90;
}
    
    
0

No ale czego konkretnie nie umiesz?
Sformatuj ten kod i przyglądaj się linijka po linijce.

1

Cudzysłowy. Zapomnieliście o nich i zepsuliście literały.

0

Nawet dodając cudzysłowy

 cout<<" ... " ;
                  }
int stos::pop(){
    cout<<" ..." ;

wyskakuje mi masa błędów, część poprawiona bo były typu (stos) a w kodzie Stos.
Nadal jednak pozostaje ponad 30 błędów.

0

Sformatuj kod i wrzuć go.

0

#include <cstdlib>
#include <iostream>

using namespace std;
class stos {
private:
int *tab;
int wsk_stosu;
public:
stos();
void push (int element);
int pop();
~stos();
};
stos::stos(){
wsk_stosu=0;
tab= new int [100]; }
void stos::push(int element){
tab[wsk_stosu]=element;
wsk_stosu++;
cout<<" 123 " ;}
int stos::pop(){
cout<<" 456 ";
wsk_stosu--;
return tab[wsk_stosu]; }
stos::stos(){
}
int main(int argc, char *argv[]){
stos<int> stos intow ;
stos.push(15);
cout << stos.pop90; }

system("PAUSE");
return EXIT_SUCCESS;

}

2

Tego typu watki sa smutne i pokazuja jak ludzie bardzo maja w powazaniu myslenie.

0

Mógłbyś to chociaż w <code class="cpp"></code> wrzucić...

stos<int> stos intow;
cout << stos.pop90;
No, to co tutaj jest nie tak to naprawdę istna zagadka na miarę szerloka holmsa...

0

Faktycznie, zapomniałem żeby to wstawić w to.
Pierwszy raz spotykam się z tym i dlatego poprosiłem Was o pomoc w zrozumieniu.

0
  1. cout działa lepiej z operatorem << niż z <.
  2. Masz 2 definicje tego samego konstruktora i żadnej destruktora.
  3. Destruktor powinien zwalniać pamięć przydzieloną wcześniej w konstruktorze.
  4. Przykład zastosowania:
int main(int argc, char* argv[])
{
    stos liczby;
    liczby.push(15);
    liczby.push(30);
    liczby.push(40);
    cout << liczby.pop() << '\n';
    cout << liczby.pop() << '\n';
    cout << liczby.pop() << '\n';
    return EXIT_SUCCESS;
}

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