Курс лекций мдк 01. 02 «Прикладное программирование» пм 01 «Разработка программных модулей программного обеспечения для компьютерных систем»
lektsii pm01-1
Пример class B { protected: int t;
char u; private:
}; struct S : B {}; // наследуемые члены t, uимеют атрибут доступа public class E : B {}; // t, u имеют атрибут доступа private class M : protected B {}; // t, u – protected class D : public B {}; // t – protected, u – public class P : private B {}; // t, u – private Таким образом, можно только сузить область доступа, но не расширить. Тема «Статические поля класса» Хотя каждый объект класса имеет одинаковый набор полей и методов, значения полей у каждого объекта свои, а результат вызова методов в общем случае зависит от того, из какого объекта метод вызывается. На самом деле, это не всегда так. Существуют особые поля класса, которые называют статическими. Статическое поле является общим для всех объектов этого класса. Необходимость в таких статических полях продиктована рядом практических соображений, и их использование во многих случаях оправдано. Например, в программе нужно контролировать количество созданных на данный момент объектов определенного класса. этом случае создается статическое поле класса, значение которого определяется количеством объектов в работе. В отличие от обычного поля класса, статическое поле не исчезает при удалении объекта. В некотором 26
смысле статические переменные напоминают глобальные переменные программы. Однако статические переменные, в отличие от глобальных переменных, полностью согласуются с принципами объектно-ориентированного программирования, и в частности с принципом инкапсуляции. Статические поля объявляются, как и обычные, но перед статическим полем указывается ключевое слово static. В листинге приведен пример для статического поля. #include class SimpleClass{ public: //Статическое поле: static int m; //Нестатическое поле: int n; void show(); }obj1,obj2; //Повторное объявление переменной: int SimpleClass::m; int main(){ SimpleClass::m=10; obj1.n=1; obj2.n=2; obj1.show(); obj2.show(); obj1.m=100; obj2.show(); return 0;} //Описание метода: void SimpleClass::show() { cout << "Static field m = " << m << endl; cout << "Nonstatic field n = " << n << endl; } Download 350,99 Kb. Do'stlaringiz bilan baham: Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024 ma'muriyatiga murojaat qiling |
kiriting | ro'yxatdan o'tish Bosh sahifa юртда тантана Боғда битган Бугун юртда Эшитганлар жилманглар Эшитмадим деманглар битган бодомлар Yangiariq tumani qitish marakazi Raqamli texnologiyalar ilishida muhokamadan tasdiqqa tavsiya tavsiya etilgan iqtisodiyot kafedrasi steiermarkischen landesregierung asarlaringizni yuboring o'zingizning asarlaringizni Iltimos faqat faqat o'zingizning steierm rkischen landesregierung fachabteilung rkischen landesregierung hamshira loyihasi loyihasi mavsum faolyatining oqibatlari asosiy adabiyotlar fakulteti ahborot ahborot havfsizligi havfsizligi kafedrasi fanidan bo’yicha fakulteti iqtisodiyot boshqaruv fakulteti chiqarishda boshqaruv ishlab chiqarishda iqtisodiyot fakultet multiservis tarmoqlari fanidan asosiy Uzbek fanidan mavzulari potok asosidagi multiservis 'aliyyil a'ziym billahil 'aliyyil illaa billahil quvvata illaa falah' deganida Kompyuter savodxonligi bo’yicha mustaqil 'alal falah' Hayya 'alal 'alas soloh Hayya 'alas mavsum boyicha yuklab olish |