Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
2 / 2 / 2
Регистрация: 12.10.2013
Сообщений: 168

Как объявить метод, который принимает любой класс являющийся дочерним от абстрактного?

29.11.2015, 17:46. Показов 1200. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть абстрактный класс:
C++
1
2
3
4
5
6
class Abstract
{
public:
    virtual void abst() = 0;
    void foo();
};
И класс, метод которого должен принемать класс, который является дочерним. Но проблема в том, что я не знаю, что это за класс. Структура выглядит так:

C++
1
2
3
4
5
class A
{
public:
    void bar(/*Типа класс, который является дочерним от класса Abstract*/);
};
Как объявить метод, который принемает любой класс, который является дочерним от абстрактного?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2015, 17:46
Ответы с готовыми решениями:

Как создать метод, который принимает, а также возвращает массив?
Как создать метод, который принимает массив, совершает с ним разные метаморфозы (указанно в задаче, какие именно) и выводит результат в...

Напишите метод, который принимает массив как аргумент и возвращает N
Вам задан массив (который будет иметь длину не менее 3, но может быть очень большой), содержащий целые числа. Массив либо полностью состоит...

Функция которая принимает любой класс
Здравствуйте программисты читаю книгу,и тут столкнулся с проблемой : void prins(int a,class_type t) // class_type не существует (а...

4
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
29.11.2015, 18:00
Если класс является наследником, то ВСЕ методы базового класса доступны наследнику (за исключением тех, которые объявлены в private секции).
См. образец:
Образцы (шаблоны) программ для типовых задач
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
29.11.2015, 19:56
Лучший ответ Сообщение было отмечено Ilot как решение

Решение

Цитата Сообщение от Fatosha Посмотреть сообщение
Как объявить метод, который принемает любой класс, который является дочерним от абстрактного?
C++
1
class A { public: void bar( Abstract & a ); };
0
2 / 2 / 2
Регистрация: 12.10.2013
Сообщений: 168
30.11.2015, 01:24  [ТС]
Так не работает, т.к. Abstract это абстрактный класс и нельзя создать объект этого класса...
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
30.11.2015, 12:49
Цитата Сообщение от Fatosha Посмотреть сообщение
Так не работает, т.к. Abstract это абстрактный класс и нельзя создать объект этого класса...
Ну как же не работает, когда именно работает:
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
#include <iostream>
/////////////////////////////////////////////////////////////////////
class Abstract
{
public:
    virtual     void    abst()  =   0;
    void                foo();
};
/////////////////////////////////////////////////////////////////////
class A
{
public:
    void bar( Abstract & a )
    {
        a.abst();
    }
};
/////////////////////////////////////////////////////////////////////
class   T_concrete :    public  Abstract
{
    void    abst()
    {
        std::cout   <<  "abst of T_concrete"
                    <<  std::endl;
    }
};
/////////////////////////////////////////////////////////////////////
int main()
{
    A           a;
    T_concrete  c;
    a.bar(c);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2015, 12:49
Помогаю со студенческими работами здесь

Как сделать метод который принимает массив int и сортирует его по возрастанию?
Как сделать метод который принимает массив int и сортирует его по возрастанию?

Как реализовать метод, который превратит любой объект в byte[] ?
public static byte GetByte(object obj) { byte ret=null; //---------------------------Вот что делать с объектом? ...

метод который принимает различные переменные
Читаю Шилдта и возник вопрос, возможно ли создать метод который будет принимать различные типы переменных, например одновременно int и...

Объявить класс и метод
Всем привет Для настройке оплаты в магазине нужно создать сигнатуру (уникальное значение), в сервисе есть такая инструкция $liqpay =...

Метод, который принимает в качестве параметра строку
Создайте метод, который принимает в качестве параметра строку и решает поставленную задачу, протестируйте созданный метод: Метод, который ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru