Zdravím,
potřebuju naprogramovat zásobník, který bude mít tyto data:
- ukazatel na jednorozměrné dynamické pole, ve kterém budou jednotlivé prvky-celá čísla zásobníku
- vrchol zásobníku (index posledního prvku vloženého do zásobníku)
- max - hodnota omezující počet prvků v dynamickém poli
A pak bude třída obsahovat následující metody:
- konstruktor s parametrem, který vytvoří objekt a v něm dynamické pole o určitém max počtu prvků (hodnota
parametru) a inicializuje se vrchol zásobníku
- destruktor, který uvolní paměť po objektu
- metoda PridejNaVrchol, která přidá prvek na vrchol zásobníku
- metoda OdeberZVrcholu, která odebere prvek-číslo z vrcholu zásobníku a vrátí jeho hodnotu
- metoda JePrázdný, která vrátí true, bude-li zásobník prázdný, a false, bude-li obsahovat alespoň jeden prvek
Moje třída zásobník vypadá takto:
#include "StdAfx.h"
#include "Zasobnik.h"
private:
int *zas;
int index;
int max;
Zasobnik::Zasobnik(int max){
zas = new int[max];
index = max-1;
}
Zasobnik::~Zasobnik(void){
delete zas;
}
int Zasobnik::PridejNaVrchol(int h){
zas[index] = h;
index++;
}
int Zasobnik::OdeberZVrcholu(){
return zas[index--];
}
bool Zasobnik::Je Prazdny(){
if (index <= 0) return true;
else return false;
}
A ve třídě main mám zatím jen aplikovanou metodu pro vložení:
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Zadej pocet prvku: ";
cin >> max;
Zasobnik z1(max);
for(int i = max; i < ; i++)
z1.PridejNaVrchol(i);
}
Jelikož mám Visual Studio mimo provoz, tak to nemám jak vyzkoušet? Teoreticky mám to dobře?
Díky!