From e012bcac0a5c5fc804fbeadb0e8ab382c5e6feb7 Mon Sep 17 00:00:00 2001 From: angeld55 Date: Tue, 31 May 2022 00:56:24 +0300 Subject: split in to folders --- Sem. 13/Farm/Farm.cpp | 63 --------------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 Sem. 13/Farm/Farm.cpp (limited to 'Sem. 13/Farm/Farm.cpp') diff --git a/Sem. 13/Farm/Farm.cpp b/Sem. 13/Farm/Farm.cpp deleted file mode 100644 index 73cd419..0000000 --- a/Sem. 13/Farm/Farm.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "Farm.h" - -void Farm::free() -{ - for (size_t i = 0; i < animalsCount; i++) - delete animals[i]; //не се инт. какъв обект е. (вирт дестр) - delete[] animals; -} -void Farm::copyFrom(const Farm& other) -{ - animals = new Animal * [other.capacity]; - animalsCount = other.animalsCount; - capacity = other.capacity; - - for (size_t i = 0; i < animalsCount; i++) - { - animals[i] = other.animals[i]->clone(); - } -} -void Farm::resize() -{ - Animal** newCollection = new Animal * [capacity *= 2]; - for (size_t i = 0; i < animalsCount; i++) - newCollection[i] = animals[i]; // !!не правим клониране - delete[] animals; - animals = newCollection; -} -void Farm::addAnimal(const Animal& currentAnimal) -{ - if (animalsCount == capacity) - resize(); - animals[animalsCount++] = currentAnimal.clone(); -} - -Farm::Farm() -{ - capacity = 8; - animalsCount = 0; - animals = new Animal * [capacity]; -} -Farm::Farm(const Farm& other) -{ - copyFrom(other); -} -Farm& Farm::operator=(const Farm& other) -{ - if (this != &other) - { - free(); - copyFrom(other); - } - return *this; -} -Farm::~Farm() -{ - free(); -} - -void Farm::allSayHello() const -{ - for (size_t i = 0; i < animalsCount; i++) - animals[i]->sayHello(); -} -- cgit v1.3.1-23-gd82d