Sometimes I don\'t want to provide a default constructor, nor do I want the compiler to provide a system default constructor for my class. In C++ 11 I can do thing like:
Additionally to declaring the default constructor private, you could also throw an exception when somebody tries to call it.
class MyClass { private: MyClass() { throw [some exception]; }; }