Klasa alokowana dynamicznie

0

Tak jak w temacie. Czyli jak? Że new nazwa_klasy nazwa_zmiennej? XD

1
MojaKlasa* cos = new MojaKlasa;
0

Dobra to chcialem wiedzieć, dzieki :D a przy usuwaniu jej? delete MojaKlasa czy delete cos?

1
aksjio napisał(a):

a przy usuwaniu jej? delete MojaKlasa czy delete cos?

Wyobraź sobie, że masz taki kod:

MojaKlasa* cos = new MojaKlasa;
MojaKlasa* innecos = new MojaKlasa;

Teraz jak chcesz usunąć cos to zrobisz delete cos czy delete MojaKlasa?

0

Wolałem się jednak upewnić ;) Dzieki za szybką pomoc.

1

jak to pytanie cpp to

auto x = std::make_unique<MojaKlasa>(parametry konstruktora);
// lub
auto x = std::make_shared<MojaKlasa>(parametry konstruktora);

i nie będziesz musiał używać żadnych new i delete

0

@gośćabc muszę użyć new i delete... a wracając do tematu, jak w dekonstruktorze usunąć tą zmienną cos?

0

http://wklej.org/id/1587776/ i wywala mi że 'b' was not declared in this scope.

int main
{
    ...    
    Book* b= new Book(a,z,c,d,e);
    b->show();
    delete b;
}

Book::~Book()
{}

Tak naprawdę destruktora nie potrzebujesz w tym przypadku, bo nie ma nic do roboty.

0

No dobra to wywale ten dekonstruktor i mam nadzieje że mi zaliczy bo kazała usunąć to w dekonstruktorze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0