1.) T t; create an object t and default constructor called.
2.) T t(); same as above;
3.) T t(u); create object t with passing a parameter u, appropriate constructor will be called.
4.) T t= u; create an object t with copy constructor called and copy constructor copies appropriate data members in object t. Note:- here u should be an object of type class T or the base class of class T if inheritance is used.
although many other situations be possible here.
About the 2nd statement, it depends on the context where it's in. If it's in a class declaration or in global context (outside any function or class definitions) then it's function declaration. Otherwise it's a statement that instantiates an object of class T using default constructor.