Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- // ############################################################################
- class Object
- {
- public:
- Object();
- ~Object();
- const int& getField0() const;
- const float& getField1() const;
- void setField0(const int& value);
- void setField1(const float& value);
- private:
- int m_field0;
- float m_field1;
- };
- // ############################################################################
- int main()
- {
- std::cout << "STOS:" << std::endl;
- // tworzymy nową przestrzeń za pomocą nawiasów { } (tworzymy mały stos)
- {
- Object obj; // tutaj zostanie wywołany konstruktor
- int v0 = obj.getField0(); // pobranie wartości z pola m_field0
- obj.setField1(1.0f); // ustawienie nowej wartości pola m_field1
- } // w tym momencie zostanie usunięty obj ze stosu, więc wykona się destruktor, niejawnie
- std::cout << std::endl << std::endl;
- std::cout << "STERTA:" << std::endl;
- Object* obj = nullptr; // deklaracja wskaznika, który wskazuje na nic
- obj = new Object(); // wywołanie operatora new, który utworzy obiekt na stercie, wywołanie konstruktora
- int v0 = obj->getField0(); // pobranie wartości z pola m_field0, (pamiętamy że jak są wskaźniki, to używamy strzałki)
- obj->setField1(1.0f); // ustawienie nowej wartości pola m_field1, (pamiętamy że jak są wskaźniki, to używamy strzałki)
- delete obj; // wywołanie operatora delete, który usunie obiekt ze sterty, zostanie wywołany destruktor, jawnie
- std::cout << std::endl;
- system("pause");
- return 0;
- }
- // ############################################################################
- Object::Object()
- : m_field0(0)
- , m_field1(0.0f)
- {
- std::cout << "Wywolanie z konstruktora" << std::endl;
- }
- Object::~Object()
- {
- std::cout << "Wywolanie z destruktora" << std::endl;
- }
- const int& Object::getField0() const
- {
- return m_field0;
- }
- const float& Object::getField1() const
- {
- return m_field1;
- }
- void Object::setField0(const int& value)
- {
- m_field0 = value;
- }
- void Object::setField1(const float& value)
- {
- m_field1 = value;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement