|
Программирование >> Дополнительные возможности наследования
virtual void Haul(); class SportsCar : public Car virtual void Haul(); class Coupe : public Car virtual void Haul(); День 14 1. Могут ли статические переменные-члены быть закрытыми? Да. Поскольку они являются переменными-членами, то доступ к ним может управляться подобно доступу к любым другим переменным-членам. Если статическая переменная-член объявлена как закрытая, то доступ к ней можно получить только с помощью открытого статического метода класса. 2. Объявите статическую переменную-член. static int itsStatic; 3. Объявите статическую функцию. static int SomeFunctionO; 4. Объявите указатель на функцию, принимающую параметр типа int и возвращающую значение типа long. long (* function)(int); 5. Измените указатель, созданный в задании 4, на указатель на функцию-член класса Саг. long ( Car:: function)(int); 6. Объявите массив из десяти указателей, созданных в задании 5. long ( Car::*function)(int) theArray [10]; Упражнения 1. Напищите короткую программу, объявляющую класс с одной обычной переменной-членом и одной статической переменной-членом. Создайте конструктор, выполняющий инициализацию переменной-члена и приращение статической переменной-члена. Затем объявите деструктор, который уменьшает на единицу значение статической переменной. �56218 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 class nyClass { public: myClassO; nyGlass(); private: int itsMenber; static int itsStatic; nyClass::nyClass(): itsMemberd) itsStatic++; myClass::nyClass() { itsStatic--; int myClass::itsStatic = 0; int mainO {} 2. Используя программный блок из упражнения 1, напишите короткую выполняемую программу, которая создает три объекта, а затем выводит значения их переменных-членов и статической переменной-члена класса. Затем последовательно удаляйте объекты и выводите на экран значение статической переменной-члена. ftinclude <iostream.h> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class myClass { public; myClassO; myClassO; void ShowMemberO void ShowStaticO; private: int itsMember; static int itsStatic; myClass;:myClass(); itsMember(l) < itsStatic++; 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 lyClass::nyClass() itsStatic--; cout In destructor. ItsStatic: itsStatic endl; void myClass::ShowMenber() cout itsMenber: itsMember endl; void myClass::ShowStatic() cout itsStatic: itsStatic endl; int nyClass;:itsStatic = 0; int nainO { myClass objl; objI.ShowMenberO; objI.ShowStaticO; nyClass obj2; obj2.ShowMenber(); obj2.ShowStatic(); nyClass obj3; obj3.ShowMember(); obj3.ShowStatic(); return 0; 3. Измените программу из упражнения 2 таким образом, чтобы доступ к статической переменной-члену осуществлялся с помощью статической функции-члена. Сделайте статическую переменную-член закрытой. Sinclude <iostrean.h> class nyClass { public; nyClass(); nyClass(); void ShowMenberO; static int GetStaticO;
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |