```
  template <class Object>
        class ListNode
        {   
            ListNode( const Object & theElement = Object( ), ListNode * n = NULL )
              : element( theElement ), next( n ) { }

            Object   element;
            ListNode *next;

            friend class List<Object>;
            friend class ListItr<Object>;
       };

```

Hi everyone, I am writing a program for my data structures class and I am supposed to use this .h header file included by my instructor. To my knowledge, Object is a template parameter. Can someone please explain why there are parentheses after Object in the ListNode constructor? 

Thankyou!