Kol W2, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp), kolos 2


Kolokwium II Poprawkowy 2012

Dla podanego programu odnaleźć błędy i poprawić:

#pragma warning ( disable : 4996 )

class A

{

char *str; //wiersz tekstowy

public:

A() : str(NULL) {} //konstruktor domyślny

A(char *sstr); //konstruktor sparametryzowany

~A() { delete [] str; }

A operator + (const A & ob) const //sklejanie dwуch wiersze tekstowych

private:

void alloc(size_t dim);

};

A::A(char *sstr)

{

size_t dim = strlen(sstr)+1;

alloc(dim);

strcpy(str, sstr);

}

class B

{

A *pA; //tablica obiektуw A

size_t nn; //liczba elementуw tablicy

public:

B(size_t n, A *ptab); //konstruktor sparametryzowany

B() : pA(NULL), nn(0) {} //konstruktor domyślny

~B() { delete [] pA; }

friend ostream & operator << (ostream &strm, const B & ob);

};

B::B(size_t n, A *ptab)

{

nn = n;

try {

pA = new A [n];

for(size_t it=0; it<n; ++it)

pA[it] = ptab[it];

}

catch(bad_alloc) {

//……………..

}

}

ostream & operator << (ostream &strm, const B & ob)

{

if(ob.pA) {

for(size_t it=0; it<ob.nn; ++it)

strm << ob.pA[it];

}

return strm;

}

B fun()

{

A tab[] = {A("aaa"), A("bbb"), A("ccc"), A(" ")};

tab[3] = tab[1]+tab[2];

size_t n = 4;

B tmp(n, tab);

return tmp;

}

int _tmain(int argc, _TCHAR* argv[])

{

B obb = fun();

B obb1;

obb1 = obb;

cout << obb1;

return 0;

}



Wyszukiwarka

Podobne podstrony:
Kol W1, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp), kolos 2
Tresci kursu, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
przyklad Zad2, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
po proj, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
przyklad kol1, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
Tresci kursu, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
mim, studia Polibuda Informatyka, III semestr, mikroprocesory i mikrokontrolery (mim)
sprawdzian z acada5, studia Polibuda Informatyka, III semestr, grafika i komunikacja człowiek - kom
sprawdzian z acada7, studia Polibuda Informatyka, III semestr, grafika i komunikacja człowiek - kom
sprawdzian z acada4, studia Polibuda Informatyka, III semestr, grafika i komunikacja człowiek - kom
mim, studia Polibuda Informatyka, III semestr, mikroprocesory i mikrokontrolery (mim)
JAiO - Projekt 3, Studia, III Semestr, Języki, Algorytmy i Obliczenia, Projekty
JAiO - Projekt 4, Studia, III Semestr, Języki, Algorytmy i Obliczenia, Projekty
W7-dynamika bryly sztywnej, Studia, SiMR, II ROK, III semestr, Mechanika Ogólna II, Mechanika 2, 3 k
Wybrane skl zywnosci, studia, Maja, Studia, II rok, III semestr, Chemia Żywnosci, Sciagi ChŻ
sciagafizykabudowli, Studia Budownictwo polsl, III semestr KBI, Fizyka budowli, Fizyka Budowli

więcej podobnych podstron