Andy, я думаю, что Вы неправы относительно неопределенной части стандарта.
, Когда Вы находитесь в конструкторе, "это" - указатель на объект, тип которого базовый класс объекта, который Вы создаете, что означает, что виртуальные функции, частично реализованные в базовом классе, будут вызваны, и указатели в виртуальной таблице не будут сопровождаться.
[еще 113] информация в часто задаваемые вопросы C++, Облегченные ...
Перечисление Keys
имеет идентичные значения для Enter
и Return
(у него также есть ряд других дубликатов). Платформа выбрала другое значение в ToString
.
Вот все повторяющиеся имена: Это было создано с помощью следующего запроса в LINQPad :
Enum.GetNames(typeof(Keys))
.GroupBy(k => Enum.Parse(typeof(Keys), k))
.Where(g => g.Count() > 1)
.Select(g => String.Join(", ", g.Select(k => k.ToString()).ToArray()))
Enter, Return
CapsLock, Capital
HangulMode, HanguelMode, KanaMode
KanjiMode, HanjaMode
IMEAccept, IMEAceept
Prior, PageUp
PageDown, Next
Snapshot, PrintScreen
OemSemicolon, Oem1
Oem2, OemQuestion
Oem3, Oemtilde
Oem4, OemOpenBrackets
OemPipe, Oem5
OemCloseBrackets, Oem6
OemQuotes, Oem7
Oem102, OemBackslash