170 похожих чатов

Привет. Почему этот конструктор не обрабатывает случай, когда caller указывает

только radius?
Ball(const std::string &color="red", double radius=20.0)
{
m_color = color;
m_radius = radius;
}

9 ответов

0 просмотров

пример где не обрабатывает?

Вызывающая сторона этого сделать не может, поскольку аргументы передаются в порядке перечисления параметров. Именованных аргументов в языке в естественном виде нет (можно "обойти" через designated-initializer в параметр-агрегат).

Denis P
пример где не обрабатывает?

Там вопрос про параметры по умолчанию

white-trd Автор вопроса
Denis P
пример где не обрабатывает?

class Ball { private: std::string m_color; double m_radius; public: Ball(const std::string &color="red", double radius=20.0) { m_color = color; m_radius = radius; } void print() { std::cout << "color: " << m_color << ", " << "radius: " << m_radius << std::endl; } }; int main() { Ball thirty(30.0); thirty.print(); return 0; }

white trd
class Ball { private: std::string m_color; ...

А разве можно адресу строки присвоить “red” по дефолту? Адрес же число

Максим Вайнберг
А разве можно адресу строки присвоить “red” по деф...

Он обращается не по адресу, а по ссылке к значению. Если бы там был указатель, то тогда бы пришлось разымновывать

Максим Вайнберг
А разве можно адресу строки присвоить “red” по деф...

амперсанд там используется не как оператор взятия адреса (&str), а как указание ссылочного типа (string&).

Максим Вайнберг
А разве можно адресу строки присвоить “red” по деф...

Аргумент по-умолчанию - инициализатор временного объекта типа std::string, которому константная ссылка продлевает время жизни.

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

Обсуждают сегодня

получается, что он находит одинаковое колво тегов, с разными именами, или я что тто не понял в таксоупе ?
Fedor
46
вот такое это из хаскеловской или никсовой ситуации ? пока мне сложно отличить, может кто понимает last 10 log lines: > Running phase: updateAutotoolsGnuConfig...
Fedor
18
Снова я с выводом номера вхождения подстроки в строку. Исправил код, номер элемента, с которого начинается подстрока в строке, выводит, но неправильно. Подскажите, пожалуйста,...
Ыиу
2
@dt0W3s1yQE75Mew ну чё как чувствуешь себя здесь бот? запомни тупое ты чучело - в ассемблере нету тянок
.
18
#include <stdio.h> base( int size_2, int size_1, int ar_1[], int ar_2[][size_2] ){ int cm,im; int ar_3[size_2]; for(int num = 0; num <size_2; num++ ) { ...
Behemoth cat
11
а вот так если по инструкции выше Y % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total ...
Fedor
7
Вопрос, не ставиться haskus-utils-variant (>=3.3 && <3.4) - говорит битый пакет под никсом, есть у кого мысли как чинить ?
Fedor
16
а вот вопрос куда копать не понимаю, вроде работает функция, но возращает странное take 1 ategs [TagBranch "a" [("href","/?sa=X&ved=0ahUKEwiQ7Pbhzs6FAxURBNsEHVRuDAgQOwgC")] [...
Fedor
6
ого, прикольно, а что пишешь?
CodWiz | Серёжа by CodWiz
32
Доброго времени! Есть ли в Lazarus заклинания повышающие точность double? function Distance( constref pt0,pt1:TDVec2 ):double; var cp,st:TDVec2; sin_sr1,sin_sr2, ...
Александр Смоляков
3
Карта сайта