Kezdőoldal » Számítástechnika » Programozás » Itt létrejön dinamikusan egy...

Itt létrejön dinamikusan egy új objektum? És ezeket az objektumokat hogyan töröljem?

Figyelt kérdés

//main.cpp

# include <iostream>


typedef unsigned short ushort;

typedef unsigned int uint;

using namespace std;


class Mammal {

public:

Mammal() { cout <<"Mammal Konstruktor \n"; }

Mammal(const Mammal &rhs);

virtual ~Mammal() { cout <<"Mammal virtual Destruktor \n"; }


virtual Mammal* Copy()const { return new Mammal(*this); } //Itt.

void SetAge(short age) { itsAge = age; }

short GetAge()const { return itsAge; }

protected:

short itsAge;

private: };


class Dog: public Mammal {

public:

Dog(): Mammal() { cout <<"Dog Konstruktor \n"; }

Dog(const Dog &rhs);

virtual ~Dog() { cout <<"Dog virtual Destruktor \n"; }


virtual Mammal* Copy()const { return new Dog(*this); } //És itt.

protected:

private: };


Mammal::Mammal(const Mammal &rhs): itsAge(rhs.GetAge()) {

cout <<"Mammal copy Konstruktor \n"; }


Dog::Dog(const Dog &rhs): Mammal(rhs) {

cout <<"Dog copy Konstruktor \n"; }


int main() {

const Mammal *const pMammal = new Dog;

Mammal *pArray[1] = {pMammal->Copy()};


delete pArray; //És ez miért warningol?.

delete pMammal;


return 0; }


2012. jún. 12. 12:07
 1/3 A kérdező kommentje:

Így már jó delete *pArray;

és nem varningol.

2012. jún. 12. 12:49
 2/3 A kérdező kommentje:

delete *pArray;

pArray[0] = NULL;

delete pMammal;

2012. jún. 12. 12:50
 3/3 _Jessy_ ***** válasza:

delete *pArray;

pArray[0] = NULL;

ilyesmikből lesz a segfault :)

Nem unod még az emlőseidet? Másik megjegyzés, hogy felesleges berakni +1000 sor olyan kódot, aminek nincs köze a kérdéshez, mert a kutya se fogja elolvasni emiatt a kérdést, mint ahogy én sem :)

2012. jún. 12. 18:12
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!