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

Массив обьектов , класс которых наследуеться от абстрактного класса

10.11.2022, 13:55. Показов 592. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
#include <iostream>
#include <string>
using namespace std;

class Bird {
public:
virtual string GetName()=0;
virtual bool compareTo(Bird& bird) = 0;
virtual ~Bird() = default;
};
class Eagle : public Bird {
string name;
public:
Eagle(string name ) :name(name) {};
~Eagle()override = default;
string GetName() override {
return name;
}
bool compareTo(Bird& bird) override {
return name[0] > bird.GetName()[0];
}
};
class Swallow : public Bird {
string name;
public:
Swallow(string name) :name(name) {};
~Swallow()override = default;
string GetName() override {
return name;
}
bool compareTo(Bird& bird) override {
return name[0] > bird.GetName()[0];
}
};
class Penguin : public Bird {
string name;
public:
Penguin(string name) :name(name) {};
~Penguin()override = default;
string GetName() override {
return name;
}
bool compareTo(Bird& bird) override {
return name[0] > bird.GetName()[0];
}
};
class Chicken : public Bird {
string name;
public:
Chicken(string name) :name(name) {};
~Chicken()override = default;
string GetName() override {
return name;
}
bool compareTo(Bird& bird) override {
return name[0] > bird.GetName()[0];
}
};
class Eagle : public Bird {
string name;
public:
Eagle(string name) :name(name) {};
string GetName() override {
return name;
}
bool compareTo(Bird& bird) override {
return name[0] > bird.GetName()[0];
}
};
int main() {
Bird* birds = { new Eagle("eagle"),new Swallow("swallow"),new Penguin("penguin"),new Chicken("chicken") };
for (int i = 0; i < 4; i++) {
cout << birds[i].GetName() << endl;
}
return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.11.2022, 13:55
Ответы с готовыми решениями:

Реализовать класс "Динамический массив"
1. Согласно заданию реализовать класс абстрактного типа данных (далее АТД) как динамический массив. Для этого определение класса должно...

Поместить в динамически расширяемый массив объекты класса, производные от базового абстрактного класса
Помогите пожалуйста новичку! (мне). Я хочу создать динамически расширяющийся массив указателей на базовый абстрактный класс,...

Найти класс-наследник от абстрактного класса в массиве
Есть массив абстрактных классов &quot;GameObject&quot;, от него наследуется класс &quot;Plant&quot;, который тоже находится в массиве. Нужно пройтись по всему...

4
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
10.11.2022, 14:04
и чё?
0
0 / 0 / 0
Регистрация: 10.11.2022
Сообщений: 2
10.11.2022, 14:08  [ТС]
Когда пробую создать Bird* birds = { new Eagle("eagle"),new Swallow("swallow"),new Penguin("penguin"),new Chicken("chicken") }; Ошибка в new Swallow("swallow"), too many initializer values
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
10.11.2022, 14:20
Bird* birds[] = {
1
Заблокирован
10.11.2022, 14:23
Лучший ответ Сообщение было отмечено Splinter13 как решение

Решение

Цитата Сообщение от Splinter13 Посмотреть сообщение
Когда пробую создать Bird* birds =
А вы выделили память для указателей ?
Вот вам массив указателей :
C++
1
Bird* birds[] = { new Eagle("eagle"),new Swallow("swallow"),new Penguin("penguin"),new Chicken("chicken") };
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2022, 14:23
Помогаю со студенческими работами здесь

Определить на основе абстрактного класса производный класс
1. Определить произвольный базовый класс, содержащий конструктор, деструктор, данные (поля) и два метода класса, которые изменяют поля...

Доступ к полю абстрактного класса через класс-потомок
Здравствуйте, уважаемые форумчане! Пытаюсь решить такую задачу. Я объявил в абстрактном классе виртуальную функцию, чтобы реализовать ее в...

Операция new для потомков абстрактного класса, у которых есть интерфейс
Есть класс public abstract class ReestrElement есть классы-наследники public class ObjectIm : ReestrElement, IReestrElement...

Разработать производный от абстрактного класса Figure класс и класс, производный от производного
Разработать базовый абстрактный класс Figure с пустым виртуальным методом print для вывода в дальнейшем полной информации об объекте: ...

Массив объектов абстрактного класса
Есть абстрактный класс с двумя чисто виртуальными методами, от него наследуются два класса в которых эти методы переопределены и есть класс...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru