Stack Implementation in C++
NULL versus nullptr

You shouldn't be using NULL, as you did in various places, like here:


node-&gt;next = NULL;



NULL is deprecated, and you should be using nullptr, like this:

node-&gt;next = nullptr;


If this is legacy code, and you need to support users running old compilers that date to before C++11, you should keep using NULL.



std::endl versus "\n"

Rather than using std::endl, you should just suffix this onto the end of any std::cout statements:

&lt;&lt; "\n";


You should be doing this unless you're very sure that you want to flush the output buffer each time you run std::cout. If you do need to flush the output buffer, then you should keep using std::endl.



Nitpicks

There are a fair amount of things that I want to pick at here, so bear with me.


You should remove all the using statements at the top of your code. By removing the prefix of std:: on some of it's members, your code loses clarity. The only time it's really appropriate to use a namespace, or namespace members is when you have a really deep nested namespace, like foo::bar::baz::barbaz::blah.
Secondly, there are a lot of useless comments. For example, the comment by the function signature for Clr, is not really needed. If you give Clr a better name, like removeAll, the need for the comment vanishes. This applies to many other comments as well.
Finally, the Stack class should have a toString method, which should return a std::string-representation of the stack.