Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Полиморфизм и ошибка "Слишком много аргументов" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ На чем написаны библиотеки для С++ http://www.cyberforum.ru/cpp-beginners/thread1239783.html
Всем привет, последнее время меня терзает один вопрос. На чем написаны библиотеки С++ для работы с сетью например, с графикой и тд? Ведь как известно С++ по умолчанию в своем синтаксисе не...
C++ Какие библиотеки нужно учить? Всем привет! Задался таким вопросом: Какие библиотеки нужны любому C++ программисту? Конечно их довольно много и каждому свое, но ведь есть такие без которых не обойтись никому? Если есть... http://www.cyberforum.ru/cpp-beginners/thread1239753.html
C++ Какой компилятор используется на олимпиадах
Возможно это очень глупый вопрос ,но мне надо знать какой компилятор используется на олимпиадах Во-первых для тестирования задач(а именно их исходников) и Во-вторых какими там пользоваться можно (ну...
Посчитать количество слов содержащих букву "b/B" C++
Всем добрый день ! Начал учить С++ и наткнулся на такое задание, решил сделать его по своему, экземпляров кода не видел, но видимо смекалки у меня не хватает) Код написал, но не работает правильно(...
C++ Как передвигать указатель чтобы выделить память под новый элемент и добавить новый элемент в массив? http://www.cyberforum.ru/cpp-beginners/thread1239724.html
Допустим есть некое условие,нам нужно при каждом его выполнении выделить память под новый элемент и добавить его в массив. Вопрос:Как передвигать указатель что-бы выделить память под новый элемент...
C++ For_each и аргументы callback-функции; Как передать callback'у больше одного аргумента Изучаю контейнеры и алгоритмы stl по Майерсу . С непривычки слегка охренел и запутался в них . В общем есть у меня простой вызов алгоритма вида... подробнее

Показать сообщение отдельно
D_Ok
44 / 33 / 12
Регистрация: 11.02.2014
Сообщений: 134

Полиморфизм и ошибка "Слишком много аргументов" - C++

07.08.2014, 23:48. Просмотров 536. Ответов 2
Метки (Все метки)

Кликните здесь для просмотра всего текста
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
36
37
38
39
40
41
42
43
44
45
46
...
class Enemy
{
public:
    virtual int Damage() // или надо запить virtual int Damage(bool* Foo)
    {
        int x;
                ...
        return x;
    }   
};
class Crit : public Enemy
{
public:
    int Damage(bool *skill)
    {
                int x;
                ...
                skill = true;
        return x;
    }
};
class Dodger : public Enemy
{
public:
    int Damage(bool *skill)
    {
                int x;
                ...
                skill = true;
        return x;
    }
};
...
void Foo(Enemy* en, int i)
{
bool* temp;
en[i].Damage(temp); // вот здесь ругается, но если в метод класса Enemy добавить передачу аргумента, то норм 
}
int main()
{
Enemy* arr[2];
arr[0] = new Crit;
arr[1] = new Dodger;
return 0;
}

собственно вопрос в следующем, есть базовый класс, в нем есть виртуальный метод который нечего не принимает, но класс наследник, метод которого переписывает метод базового и в котором появилась потребность изменить значение по указателю, но при такое реализации ругается что слишком много аргументов, можно как-то обойти это или все таки в метод базового надо тоже добавить прием чего-то?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru