#pragma once class Model; class View { protected: int ref; public: View(); virtual void update( Model *m ) = 0; virtual View *getThis(); virtual View *release() = 0; };