Есть ли способ сделать значения конструктора по умолчанию в шаблонном классе? - PullRequest
0 голосов
/ 09 мая 2020

Я знаю, что в C# вы можете делать:

class Account<T>
{
    T id = default(T);
}

, который присваивает шаблонному id значению значение по умолчанию для типа данных. Как я могу сделать то же самое в C ++?

Ответы [ 2 ]

5 голосов
/ 09 мая 2020
template <class T>
class Account
{
    T id{};
};
1 голос
/ 09 мая 2020

Если вы хотите сделать конструктор параметром по умолчанию, вы можете предоставить конструктор и сделать что-то вроде следующего

template <class T>
class Account<T>
{
    T id;
    Account( T id = T{}) : id{ id } {}
};

, но если вы хотите использовать только конструктор по умолчанию (как в предоставленном вами коде), используйте T id{}; вместо T id = default(T);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...