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
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#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?
Bedankt voor je feedback!
Sectie 2. Hoofdstuk 8
single
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.