Как указать значения аргументов по умолчанию для конструктора C ++?

Я бы добавил:

Предоставить реальную отмену подписки при нажатии «Отменить подписку». Я видел реальные информационные бюллетени, содержащие фиктивную ссылку на отмену подписки, которая после кликов показывает, что «была успешно отписана», но я все равно буду получать дальнейшие информационные бюллетени.

13
задан Rob Kennedy 3 August 2010 в 05:41
поделиться

3 ответа

Что вам нужно:

//declaration:
MyConstuctor(int inDenominator, int inNumerator, int inWholeNumber = 0); 

//definition:
MyConstuctor::MyConstuctor(int inDenominator,int inNumerator,int inWholeNumber) 
{   
    mNum = inNumerator;   
    mDen = inDenominator;   
    mWhole = inWholeNumber;   
}

Таким образом, вы сможете указать значение по умолчанию для inWholeNumber ; и вы сможете не указывать его, поэтому по умолчанию будет использоваться 0.


В качестве дополнительного совета лучше использовать список инициализации в определении:

//definition:
MyConstuctor::MyConstuctor(int inDenominator,int inNumerator,int inWholeNumber) :
    mNum(inNumerator), mDen(inDenominator), mWhole (inWholeNumber)
{   
}
39
ответ дан 1 December 2019 в 06:38
поделиться

Вы также должны добавить параметр по умолчанию в объявление, и значение по умолчанию в реализации не требуется.

1
ответ дан 1 December 2019 в 06:38
поделиться

Нет, вам нужно указать значение по умолчанию только в объявлении метода. В определении метода должны быть все 3 параметра без значения по умолчанию. Если пользователь класса решает передать третий параметр, он будет использован, в противном случае будет использоваться значение по умолчанию, указанное в объявлении.

4
ответ дан 1 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: