12.07.2015 Views

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

позволява да се подобри програмата на задача 120, като сеизползват динамични, а не “статични” масиви (т. 14.8).Методите на класовете също могат да използват динамична памет,която се заделя и освобождава по време на изпълнението им, чрезоператорите new и delete.Задача 124. Да се модифицира класът product, реализиран взадача 120, така че за всяко име на компютър да се отделя точнотолкова памет, колкото е необходимо, а не точно 21 байта.За целта ще определим променливата name като указател към charи необходимата памет за съхраняването на името на компютър ще сезаделя по време на изпълнение на член-функцията read(). Следватсамо фрагментите, където се налага модификация.char s[40];class product{private:char* name;double price;int score;public:void read();void print() const;bool is_better_from(product const &) const;double get_price() const;int get_score() const;};...void product::read(){cout > s;name = new char[strlen(s)+1];strcpy(name, s);cout > price;cout > score;}60

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!