Программа C++ #include


Множественное наследование, чистые виртуальные функции



Download 187 Kb.
bet4/5
Sana23.02.2022
Hajmi187 Kb.
#146691
TuriПрограмма
1   2   3   4   5

Множественное наследование, чистые виртуальные функции

  • // множественное наследование
  • class circus : public color, public figure
  • {public:
  • circus(int x, int y, int r, int c):
  • color(c), figure (x,y,r) {}; // наследование конструкторов
  • void show();
  • void hide();
  • };
  • void circus::show() { setcolor(c); circle(x,y,r); }
  • void circus::hide() { setcolor(BLACK); circle(x,y,r); }
  • void main(void)
  • { int gdriver = DETECT, gmode;
  • initgraph(&gdriver, &gmode, "C:/BC5/BGI");
  • // figure f(320,240,10); // так нельзя!
  • circus cr(320,240,10,YELLOW);
  • cr.show();
  • getch(); closegraph();
  • }

Статические члены класса

  • class st {
  • static int c;
  • public:
  • static int incr(void) { return c++; }
  • st(void) {cin << incr(); }
  • ~st(void) { c--; }
  • }
  • . . . .
  • st::c=0;
  • st::incr();

Шаблоны

  • template // Шаблоны функций
  • T sqr ( T x )
  • {
  • return x*x ;
  • }
  • main()
  • { int i = 3;
  • float x = 3.1;
  • cout << sqr(i) << “\n”;
  • cout << sqr(x) << “\n”;
  • }

Шаблоны

  • template // Шаблоны классов
  • class vec
  • { T *q;
  • int n;
  • public:
  • vec (void);
  • };
  • template
  • vec::vec(void)
  • { q = new T[size];
  • };
  • void main()
  • { vec d;
  • vec k; }

Обработка исключений

  • Обработка исключений в стиле С++
  • • try (пытаться) - начало блока исключений;
  • • catch (поймать) - начало блока, "ловящего" исключение;
  • Finally (завершение) – всегда выполняется последним
  • • throw (бросить) - ключевое слово, "создающее" ("возбуждающее") исключение.
  • Блок Try обработчика исключений Try...Catch...Finally содержит раздел кода, который будет отслеживать обработчик ошибок. Если во время выполнения какого-либо кода данного раздела возникает ошибка, Visual Basic проверяет каждый оператор Catch в пределах группы операторов Try...Catch...Finally, пока не обнаружит тот, условия которого совпадают с условиями ошибки. При обнаружении управление передается первой строке кода в этом блоке Catch. Если соответствующий оператор Catch не найден, поиск продолжается в операторах Catch внешнего блока Try...Catch...Finally, который содержит блок, в котором возникло исключение. Этот процесс продолжается по всему стеку, пока не будет обнаружен соответствующий блок Catch в текущей процедуре. Если он не найден, выдается ошибка.
  • Код в разделе Finally всегда выполняется последним, непосредственно перед тем, как блок обработки ошибок выйдет из области видимости, независимо от того, выполнен ли код в блоках Catch. В разделе Finally следует поместить код очистки, чтобы закрыть файлы и освободить объекты.

Обработка исключений

  • void func()
  • {
  • try { throw 1;
  • }
  • catch(int a)
  • { printf("Caught exception number: %d\n",a);
  • return;
  • }
  • printf("No exception detected!\n");
  • return;
  • }
  • Если выполнить этот фрагмент кода, то мы получим следующий результат: Caught exception number: 1
  • Теперь закоментируйте строку throw 1; и функция выдаст No exception detected!

Download 187 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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