main関数内1行目は普通に宣言してメソッドを使っているので
うまく動いて当然であり、なんら疑問はありません。

main関数内3行目は、
Test *pt = new Test;
という記述が使えることと、operator newがポインタを返すことから
(new Test)が新しいTestオブジェクトへのポインタであると予想して
記述しました。結果は予想どうりうまく動きましたが、本当に
この予想はあっているのでしょうか?

一番の疑問点はmain関数内2行目で
コンストラクタは返り値が無いはずなのにTest()があたかも
オブジェクトそのものである様に働いている点です。
いったいこれはどういう理屈なのでしょうか?

本屋で立ち読みして答えを探そうとしたのですが、
キーワードが分からずどこを探せばよいのか分かりませんでした。
もしよろしければ、何か手掛かりになるものを教えてもらえないでしょうか?