CyberPress
közéleti magazin
cyberpress@sopron.hu
2024. május 2., csütörtök, Zsigmond napja


Irodalmi Kávéház

Intranet Galéria

Apróhirdetések

Képeslapok

Soproni Képindex

Polgármesteri Hivatal

ZÓNÁK
Főoldal
Lapszemle
  Lapszemle
Kultúra
  KultúrVáros
  Lélektől lélekig
  SzínházVilág
  Soproni Ünnepi Hetek
  Borváros
Regionális kulturális programajánló
  Színház
  Kiállítás
  Rendezvények
  Hangverseny-Zene
Cyber Kurír
  Hírek - események
  Szomszédvár - Régió
  Soproni Snassz
Európai Unió
  EU
Cyber hírek
  Közélet
  SopronMedia
  Városháza
  Sport
Szórakozás
  Fesztiválgájd
  HangFal
  Mi1más
  Diákélet - diákszáj
  ViccGödör
Gazdaság
  Kereskedelmi és Iparkamara
Sport - szabadidő
  Sportcentrum
  Száguldó Cirkusz
Tudomány-technika
  Űrvadász
  Egészség
Környezet
  Borostyán
  Egészség

Dr. Bit  

Programozzunk együtt!

A new és delete utasítás II.

 

Az előző alkalommal átnéztük a new és delete -el való dinamikus memóriakezelést. Most megismerkedünk az objektum-orientált programozás (OOP) alapjaival, vagyis az objektumok dinamikus kezelésével.

Mint láttuk, a
*; // Mutato -re
nev=new ; // Memoria lefoglalas

hatására lefoglalódik sizeof(tipus) byte memória. Az objektumoknál ugyanez a helyzet, egy osztály magában is típus értékű, így a "C-s"

struct struktúra struktúra_peldany

helyett egyszerűen a következővel is létrehozhatunk további osztályokat:

osztaly osztaly_peldany

A következő programrész bemutatja, hogyan lehet az osztályokat (objektumokat) dinamikusan kezelni. (Ne ijedj meg, ha nem érted a forrás minden részletét - a következőkben mindenről részletesen szó lesz. Egyelőre elég annyit megjegyezni, hogy a class a C++ -ban lényegében a struct-tal megegyező funkciójú, de mindemellett több lehetőséget kínál. Minderről részletesen a jövőben!)

// OOP_PL_1.CPP - Egyszeru pelda a dinamikus OOP bemutatasara

#include
class tpelda // Pelda osztaly
{
int szam; // Egy 'int' tipusu valtozo
};

void main(void)
{
tpelda *pelda; // Letrehozunk egy mutatot 'pelda' nevvel
if (!(pelda = new tpelda)) // A 'pelda' mutato segitsegevel megprobalunk
{ // memoriat foglalni az osztaly reszere...
cerr << "Nem sikerult lefoglalani memoriat!!";
exit (1); // Ha nem sikerul, akkor kilepunk...
}

delete pelda; // Toroljuk 'pelda'-t. - Memoria felszabaditasa

// Program vege

Nos, itt már látható volt a lényeg: az objektumokat ugyanúgy kezelhetjük, mint bármely más memóriaegységet, és bátran használhatjuk a dinamikus memóriakezeléshez a new és delete operátorpárost. Ezt a kis kitérőt azért tartottam fontosnak, hogy az OOP során már egyértelmű legyen a new és delete használata, és így fel tudjuk használni a következő nagy témakörhöz, az Objektum Orientált Programozás megismeréséhez.



2001. június 18., hétfő 11:34


címlap zóna archívum




© 1999-2007, Internet Sopron Egyesület