Похожие чаты

There is such a code Drob makeNegative(Drob d) {   d.setNumerator(-d.getNumerator());   return d; } int

main()
{
  std::cout << makeNegative(7); // pass an integer value

  return 0;
}

the class has such a default constructor
Drob(int numerator = 0, int denominator = 1) :
  m_numerator(numerator), m_denominator(denominator)
{
  assert(denominator != 0);
}
on one site it is written that since the call to the makeNegative() function expects an object of the Drob class, and we pass it a literal, an implicit conversion will occur
Drob d = 7
which is equal to
Drob d(7)
what the default constructor will call

and when the function reaches return, then the copy constructor will also work

Is everything right?

1 ответов

18 просмотров

Sounds correct. Though having implicit constructors is usually not a good idea, especially from basic types. It can create some weird bugs and overall reduce readability (things happening, but the reader can't know from reading the code that they are happening).

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
Hi. Do we have a raid bot? Why nobody doing raids on X? Even RH mentioned this and nobody paying attention...whats the channel for hex memes? If mods cant run raids just insta...
H
31
Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
блеать, почему так?? где в роутере это исправляется?
Арсен Маньяков 🇦🇲
16
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
🌊 Ocean Nodes Dashboard Update 🚀 Hey, Oceaners! First off, a massive round of applause 👏to all of you for the amazing engagement since we launched Ocean Nodes. In just a few ...
KreigDK | Never DM first🌊
3
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
люди, которые используют flameshot, к вам вопрос. Можно-ли поставить хоткей на создание скриншота? В программе есть отдел "горячие клавиши", но там все для редактирования, скр...
ThunDer104
11
Карта сайта