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>;
};
Привет всем, Я пишу программу для своего класса структур данных, и я должен использовать этот заголовочный файл .h, включенный моим инструктором. Насколько мне известно, Object является параметром шаблона. Может кто-нибудь объяснить, почему в Object в конструкторе ListNode есть круглые скобки?Template Parameter in C++
Thankyou!
Конструктор ListNode является конструктором по умолчанию, то есть он действует как 'ListNode :: ListNode()'. Поэтому он по умолчанию инициализирует всех членов своего класса: в вашем случае 'next' - nullptr, а' element' - по умолчанию, то есть значение его конструктора по умолчанию, который является 'Object :: Object()' – user1738687