From 112a0d344da9e66d20ee9ab5d488e59c5d52e6ad Mon Sep 17 00:00:00 2001 From: Angeld55 Date: Thu, 9 Apr 2020 18:09:42 +0300 Subject: added new examples --- GetAndSet/Beer.hpp | 74 ------------------------------------------------------ 1 file changed, 74 deletions(-) delete mode 100644 GetAndSet/Beer.hpp (limited to 'GetAndSet') diff --git a/GetAndSet/Beer.hpp b/GetAndSet/Beer.hpp deleted file mode 100644 index ef0ed4b..0000000 --- a/GetAndSet/Beer.hpp +++ /dev/null @@ -1,74 +0,0 @@ -#include -using namespace std; - -const int MAXBEERML = 500; -const int MINBEERML = 330; - -class Beer -{ -public: - Beer(const char* mark, int ml); - - void printAddress() const; - - void printBeer() const; - void setMl(int ml); - - void setMark(const char* mark); - - int getMl() const; // const сложен тук означава, че метода не променя член-данните на класа.Съответно можем да го викаме от константни обекти - - const char* getMark() const; - -private: - - char mark[20]; //Стринг с максимална дължина 19, понеже 1 символ ни трябва за '\0' - int ml; -}; - -Beer::Beer(const char* mark, int ml) -{ - setMark(mark); - setMl(ml); -} -void Beer::printAddress() const -{ - cout << this << endl; -} -void Beer::printBeer() const -{ - cout << mark << " " << ml << endl; -} -void Beer::setMl(int ml) -{ - if (ml < MINBEERML) - ml = MINBEERML; - else if (ml > MAXBEERML) - ml = MAXBEERML; - this->ml = ml; -} -void Beer::setMark(const char* mark) -{ - int len = strlen(mark); - - if (len >= 20 || len == 0) //ако ни дадат невалидна марка на бирата (стринг с дължина >= 20 ) - this->mark[0] = '\0'; //правим марката да е празния стринг - else - strcpy(this->mark, mark); -} -int Beer::getMl() const -{ - return ml; -} -const char* Beer::getMark() const -{ - return mark; -} - - -int main() -{ - Beer t("Zagorka", 5); // 5 е невалидно количество бира. Но в конструктора извикваме setML, която се грижи в променливата да не попаднат невалидни данни. - t.setMl(330); - t.printBeer(); -} -- cgit v1.3.1-23-gd82d