Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Constructors and Destructors Practice | Constructors and Destructors
C++ OOP

book
Constructors and Destructors Practice

Uppgift

Swipe to start coding

  • Finish the implementation of the ResourceHolder class constructors.
    • Create and implement a default constructor.
    • Create and implement a constructor with parameters.
    • Create and implement a copy constructor.
    • Create and implement a destructor.

Lösning

cpp

solution

#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;
}

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 9
#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;
}

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt