Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Oefening met Constructors en Destructors | Constructors en Destructors
C++ OOP

book
Oefening met Constructors en Destructors

Taak

Swipe to start coding

Je werkt met een ResourceHolder-klasse die correcte constructie- en opruimlogica nodig heeft.

  • Voltooi de implementatie van de ResourceHolder class-klasse.
  • Een standaardconstructor om standaardwaarden te initialiseren.
  • Een geparametriseerde constructor om het object met opgegeven waarden te initialiseren.
  • Een destructor om het opruimen te verzorgen wanneer het object wordt vernietigd.

Oplossing

solution.cpp

solution.cpp

#include <iostream>

class ResourceHolder {
public:
ResourceHolder()
: p_data(nullptr) {}

ResourceHolder(int value)
: p_data(new int(value)) {}

ResourceHolder(const ResourceHolder& other)
: p_data(new int(*other.p_data)) {}

~ResourceHolder()
{
delete p_data;
}
int* p_data;
};

int main()
{
ResourceHolder obj1(100);
ResourceHolder obj2(obj1);
ResourceHolder obj3;
*obj1.p_data = -100;
std::cout << *obj1.p_data << ' ' << *obj2.p_data << ' ' << obj3.p_data;
}
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 8
single

single

#include <iostream>

class ResourceHolder {
public:
int* p_data;
};

int main()
{
ResourceHolder obj1(100);
ResourceHolder obj2(obj1);
ResourceHolder obj3;
*obj1.p_data = -100;
std::cout << *obj1.p_data << ' ' << *obj2.p_data << ' ' << obj3.p_data;
}

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

We use cookies to make your experience better!
some-alt