Step 3 (S-11160)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/4650/step/3


Помните иерархию Expression, которую мы разрабатывали на четвёртой неделе? Реализуйте ScopedPtr, который будет работать с указателями на базовый класс Expression. В этом задании вам требуется реализовать методы get, release и reset, операторы * и -> так, как это было описано в предыдущем степе. А также реализуйте конструктор ScopedPtr от указателя на Expression. 


Подсказка: в качестве признака того, что ScopedPtr не хранит никакого указателя (после вызова release), используйте нулевой указатель, при этом вы можете явно проверить указатель в деструкторе, но делать это не обязательно, так как delete от нулевого указателя ничего не делает.



Требования к реализации: ваш код не должен вводить или вводить что-либо, реализовывать функцию main не нужно.