#include #include "vector.h" // hodnoty rozmeru pole pro uvodni ladeni // pro dalsi ladeni zkuste matice ruznych rozmeru #define X 10 using std::cout; using std::cerr; using std::endl; /**\brief main function * \param argv argv - not used * \param argc argc - not used * \return Error code [0=OK; ... ] */ int main(int argv, char *argc[]) { cout << "Zacatek programu" << endl; #if 0 CVector d1, d2, d3; // d1, d2, d3 nulovano pomoci nastaveni implicitnich hodnot v definici tridy. Class se nemusi uvadet d1.iSize = 4; // proc nefunguje? try { // ukazte volani metody Size pro objekt d1 // size_t pom = cout << "\nAlokuju.........\n"; Allocate(d1, X); Allocate(d2, X, 2.); Allocate(d3, X); // nesmim naalokovat dvakrat try { d1.Allocate( X); } catch(enum TError &a) { if(a == EAlreadyAllocated) cout << "Osetreni vicenasobne alokace funguje spravne\n"; else if(a == ENoMemory) cout << "\nGenerovana vyjimka pro nedostatek pameti - overte spravnost \n"; else cerr << "Doslo k neocekavane chybe: " << ErrorStr[a] << endl; } // nelze pokracovat pokud nelze naalokovat size_t kl = lock_alloc(0); // blokovani alokaci pomoci funkce knihovny check CVector d4; try { d4.Allocate( X); } catch(enum TError &a) { if(a == EAlreadyAllocated) cout << "Generovana vyjimka pro osetreni vicenasobne alokace - overte spravnost\n"; else if(a == ENoMemory) cout << "\nOsetreni nedostatku pameti funguje spravne\n"; else cerr << "Doslo k neocekavane chybe: " << ErrorStr[a] << endl; } unlock_alloc(kl); // povoleni alokaci Print(d1); cout << endl; // tiskne double nulovany Print(d2); cout << endl; // tiskne double inicializovany na hodnotu Print(d4); cout << endl; // tisk pro nealokovanou proměnnou // Pristup do pole At(d1, 2) = 4.0; /// (vect,x) vrací hodnotu na pozici referencí double val = At(d1, 2); ///(vect,x) vrací hodnotu na pozici referencí for (i=0;i