This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
Now, coming to your question: I think you want to know why the constructors doesn't return anything. Let me try to explain with an example. Look at the following code
When the constructor is called? It is called when the new MyClass() is executed, right? Assume for a moment that the constructor can return a value. So, what will happen if the constructor did return something, say an int. It is similar to assigning a int value to the variable a, which is of type MyClass. This will definitely be an error. So, the constructor, if at all can return something, can return only a) an object of MyClass or b) an object of some subclass of MyClass. Returning anything else will trigger an error.
Now, you won't return an object of some subclass of MyClass, because the person calling the new MyClass() is expecting an object of MyClass and not it's subclass (otherwise he could have called new SubClassOfMyClass() straightaway)
This leaves us to one possibility: the constructor can return only the object of MyClass. So, why allow the constructor to return something, which might lead to potential problems? Better make it mandatory for the constructor not to return anything. Makes sense, isn't it?