Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Упражнения. 1. Напишите короткую программу, объявляющую класс с одной обычной переменной-членом и одной статической переменной-членом
1. Напишите короткую программу, объявляющую класс с одной обычной переменной-членом и одной статической переменной-членом. Создайте конструктор, выполняющий инициализацию переменной-члена и приращение статической переменной-члена. Затем объявите деструктор, который уменьшает на единицу значение статической переменной. 1: class myClass 2: { 3: public: 4: myClass(); 5: ~myClass(); 6: private: 7: int itsMember; 8: static int itsStatic; 9: }; 10: 11: myClass:: myClass(): 12: itsMember(1) 13: { 14: itsStatic++; 15: } 16: 17: myClass:: ~myClass() 18: { 19: itsStatic—-; 20: } 21: 22: int myClass:: itsStatic = 0; 23: 24: int main() 25: {} 2. Используя программный блок из упражнения 1, напишите короткую выполняемую программу, которая создает три объекта, а затем выводит значения их перемен- ных-членов и статической переменной-члена класса. Затем последовательно уда- ляйте объекты и выводите на экран значение статической переменной-члена. 1: #include < iostream.h> 2: 3: class myClass 4: { 5: public: 6: myClass(); 7: ~myClass(); 8: void ShowMember() 9: void ShowStatic(); 10: private: 11: int itsMember; 12: static int itsStatic; 13: }; 14: 15: myClass:: myClass(): 16: itsMember(1) 17: { 18: itsStatic++; 19: } 20: 21: myClass:: ~myClass() 22: { 23: itsStatic--; 24: cout < < " In destructor. ItsStatic: " < < itsStatic < < endl; 25: } 26: 27: void myClass:: ShowMember() 28: { 29: cout < < " itsMember: " < < itsMereber < < endl; 30: } 31: 32: void myClass:: ShowStatic() 33: { 34: cout < < " itsStatic: " < < itsStatic < < endl; 35: } 36: int myClass:: itsStatic = 0; 37: 38: int main() 39: { 40: myClass obj1; 41: obj1.ShowMember(); 42: obj1.ShowStatic(); 43: 44: myClass obj2; 45: obj2.ShowMember(); 46: obj2.ShowStatic(); 47: 48: myClass obj3; 49: obj3.ShowMember(); 50: obj3.ShowStatic(); 51: return 0; 52: } 3. Измените программу из упражнения 2 таким образом, чтобы доступ к статическойпеременной-члену осуществлялся с помощью статической функции-члена. Сделайте статическую переменную-член закрытой. 1: #include < iostream.h> 2: 3: class myClass 4: { 5: public: 6: myClass(); 7: ~myClass(); 8: void ShowMember(); 9: static int GetStatic(); 10: private: 11: int itsMember; 12: static int itsStatic; 13: } 14: 15: myClass:: myClass(): 16: itsMember(l) 17: { 18: itsStatic++; 19: } 20: 21: myClass:: ~myClass() 22: { 23: itsStatic--; 24: cout < < " In destructor. ItsStatic: " < < itsStatic < < endl; 25: } 26: 27: void myClass:: ShowMember() 28: { 29: cout < < " itsMember: " < < itsMember < < endl; 30: } 31: 32: int myClass:: itsStatic = 0; 33: 34: void myClass:: GetStatic() 35: { 36: return itsStatic; 37: } 38: 39: int main() 40: { 41: myClass obj1: 42: obj1.ShowMeraber(); 43: cout < < " Static: " < < myClass:: GetStatic() < < endl; 44: 45: myClass obj2; 46: obj2.ShowMember(); 47: cout < < " Static " < < myClass:: GetStatic() < < endl; 48: 49: myClass obj3; 50: obj3.ShowMember(); 51: cout < < " Static: " < < myClass:: GetStatic() < < endl; 52: return 0; 53: } 4. Создайте в программе из упражнения 3 указатель на функцию-член для доступа к значению нестатической переменной-члена и воспользуйтесь им для вывода этих значений на печать. 1: #include ciostream.h> 2: 3: class myClass 4: { 5: public 6: myClass(); 7: ~myClass(); 8: void ShowMember(); 9: static int GetStatic(); 10: private: 11: int itsMember; 12: static int itsStatic; 13: } 14: 15: myClass:: myClass(): 16: itsMember(1) 17: { 18: itsStatic++; 19: } 20: 21: myClass:: ~myClassO 22: { 23: itsStatic--; 24: cout < < " In destructor. ItsStatic: " < < itsStatic < < endl; 25: } 26: 27: void myClass:: ShowMember() 28: { 29: cout < < " itsMember: " < < itsMember < < endl; 30: } 31: 32: int myClass:: itsStatic = 0; 33: 34: int myClass:: GetStatic() 35: { 36: return itsStatic; 37: } 38: 39: int main() 40: { 41: void (myClass:: *PMF) (); 42: 43: PMF=myClass:: ShowMember; 44: 45: myClass obj1; 46: (obj1.*PMF)(); 47: cout < < " Static: " < < myClass:: GetStatic() < < endl; 48: 49: myClass obj2: 50: (obj2.*PMF)(); 51: cout < < " Static: " < < myClass:: GetStatic() < < endl; 52: 53: myClass obj3; 54: (obj3.*PMF)(); 55: cout < < " Static: " < < myClass:: GetStatic() < < endl; 56: return 0; 57: } 5. Добавьте две дополнительные переменные-члена к классу из предыдущих упраж- нений. Добавьте методы доступа, возвращающие значения всех этих переменных. Все функции-члены должны возвращать значения одинакового типа и иметь оди- наковую сигнатуру. Для доступа к этим методам используйте указатель на функ- цию-член. 1: #include< iostream.h> 2: 3: class myClass 4: { 5: public: 6: myClass(); 7: ~myClass(); 8: void ShowMember(); 9: void ShowSecond(); 10: void ShowThird(); 11: static int GetStatic(); 12: private: 13: int itsMember; 14: int itsSecond; 15: int itsThird; 16: static int itsStatic; 17: } 18: 19: myClass:: myClass() 20: itsMember(1), 21: itsSecond(2), 22: itsThird(3) 23: { 24: itsStatic++; 25: } 27: myClass:: ^rnyClass() 28: { 29: itsStatic--; 30: cout < < " In destructor. ItsStatic: " < < itsStatic < < endl; 31: } 32: 33: void myClass:: ShowMember() 34: { 35: cout < < " itsMember: " < < itsMember < < endl; 36: } 37: 38: void myCIass:: ShowSecond() 39: { 40: cout < < " itsSecond: " < < itsSecond < < endl; 41: } 42: 43: void myClass:: ShowThird() 44: { 45: cout < < " itsThird: " < < itsThird < < endl; 46: } 47: int myClass:: itsStatic = 0; 48: 49: int myClass:: GetStatic() 50: { 51: return itsStatic; 52: } 53: 54: int main() 55: { 56: void (myClass:: *PMF) (); 57: 58: myClass obj1; 59: PMF=myClass:: ShowMember; 60: (obj1.*PMF)(); 61: PMF=myClass:: ShowSecond; 62: (obj1.*PMF)(); 63: PMF=myClass:: ShowThird; 64: (ob]1 " PMF)(); 65: cout < < " Static: " < < myClass:: GetStatic() < < endl; 66: 67: myClass obj2; 68: PMF=myClass:: ShowMerober; 69: (obj2.*PMF)(); 70: PMF=myClass:: ShowSecond; 71: (obj2.*PMF)(); 72: PMF=myClass:: ShowThird; 73: (obj2. *PMF)(); 74: cout < < " Static: " < < myClass:: GetStatic() < < endl; 75: 76: myClass obj3; 77: PMF=myClass:: ShowMember; 78: (obj3. *PMF)(); 79: PMF=myClass:: ShowSecond; 80: (obj3.*PMF)(); 81: PMF=royClass:: ShowThird; 82: (obj3.*PMF)(); 83: cout < < " Static: " < < myClass:: GetStatic() < < endl; 84: return 0; 85: }
|