Line1 выполняет инициализацию данных элемента date?
Это, безусловно, так же, как и определение объекта. Обратите внимание, что это может быть сделано только в одной единице перевода, поэтому, если определение класса находится в заголовочном файле, то это должно быть в исходном файле.
Является ли Line1 единственным способом инициализации статического константного неинтегрированного члена данных?
В C ++ 03 это было. В C ++ 11 любой статический член литерального типа const
может иметь инициализатор в определении класса. Вам все еще нужно определение члена, если он «используется odr» (грубо говоря, если вы делаете что-то, что требует его адреса, а не только его значения). В этом случае определение снова должно быть в одной единице перевода и не должно иметь инициализатора (поскольку в определении класса он уже есть).