С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
37 / 37 / 18
Регистрация: 15.05.2013
Сообщений: 236
1

Параметры по-умолчанию в виртуальных функциях

15.11.2016, 20:37. Показов 3250. Ответов 42
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, это ведь UB ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
 
class Base {
    int a;
 
public:
    Base() : a(1) {}
    explicit Base(const int aa) : a(aa) {}
 
    virtual void foo(int a = 42) {
        int c = a;
        std::cout << c << "\n";
    }
 
};
 
class Derived : public Base {
    int b;
 
public:
    Derived() : b(2) {}
    explicit Derived(const int bb) : b(bb) {}
 
    void foo(int b = 666) override {
        int c = b;
        std::cout << c << "\n";
    }
 
};
 
int main () {
    Base *derived = new Derived;
    derived->foo();
    return EXIT_SUCCESS;
}

Я понимаю, что при пустом foo() сработал бы вариант из Derived, но вот с добавлением значений по умолчанию хз.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2016, 20:37
Ответы с готовыми решениями:

О виртуальных функциях
Читаю у Страуструпа 3 издание по с++ 12.2.6. Виртуальные функции и не много не догоняю что он имеет...

Значение по умолчанию в функциях
Пишу int __fastcall TFMain::Tets(int x=2) { return x; } Компилятор выдает: Default argument...

Значения по умолчанию в функциях С++
Возникла проблема на пустом месте, а именно с параметрами по умолчанию, чтобы не передавать в...

Формальные и фактические параметры в процедурах и функциях
Здравствуйте, я сейчас, наверное, задам один из глупых вопросов, но я никак не могу понять. У меня...

42
Неэпический
18109 / 10696 / 2062
Регистрация: 27.09.2012
Сообщений: 26,939
Записей в блоге: 1
16.11.2016, 16:57 41
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
не увидел аргумента must-have!
И не увидите.
must-have - не использовать параметры по-умолчанию в виртуальных функциях.
1
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
16.11.2016, 17:01 42
Цитата Сообщение от Croessmah Посмотреть сообщение
И не увидите.
Думаете, я бы стал рисковать мороженым, если бы не был уверен хотя бы на 90% что я прав?) Мороженого они захотели, ага)
0
IGPIGP
16.11.2016, 18:14     Параметры по-умолчанию в виртуальных функциях
  #43

Не по теме:

Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Думаете, я бы стал рисковать мороженым, если бы не был уверен хотя бы на 90% что я прав?
А кто сказал, что кто-то сомневается. Я уверен, что Вы и сейчас уверены. Несмотря не на что, кстати. А мороженное, - дело принципа. Я не служу не за мороженное ни за сёмгу. Так что скормите его курьеру, а ксерокс квитанции - в png и сюда. Так вполне сойдёт.

0
16.11.2016, 18:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2016, 18:14
Помогаю со студенческими работами здесь

Как в JavaScript передаются параметры в функциях? По ссылке или по значению.
Как в JavaScript передаются параметры в функциях? По ссылке или по значению. И каков синтаксис в...

Параметры функции: параметры по умолчанию
помогите пожалуйста понять. void foo(int a, int b, int c=1){std::cout &lt;&lt; a &lt;&lt; &quot;\t&quot; &lt;&lt; b &lt;&lt;...

Параметры по умолчанию в С.
Всем привет! Захотел воспользоватся параметрами по умолчанию в си-шном проекте. И получил следующие...

Параметры по умолчанию в функции
Всем привет. Есть такой класс: template &lt;typename T&gt; class MyClass { public: MyClass(T...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
43
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru