Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 11.03.2024
Сообщений: 6

Как заменить родителя на наследника?

20.03.2024, 13:17. Показов 1806. Ответов 22

Студворк — интернет-сервис помощи студентам
Здравствуйте, возможно ли как-то заменить родительский класс на его наследника?
У меня есть два класса:
C++
1
2
3
4
5
6
7
class Tile {
public:
friend ostream& operator <<(ostream& out, const Tile& t){
out<<' ';
return out;
}
};
C++
1
2
3
4
5
6
7
class Wall: public Tile {
public:
friend ostream& operator <<(ostream& out, const Wall& w){
out<<'#';
return out;
}
};
C++
1
2
3
4
Wall w;
Tile t;
t = w;
cout << t << w;// выводится пробел и #, а хотелось бы ##
Нужно это, чтобы в массиве можно было менять какие-то элементы на Wall, а какие-то обратно на Tile и т.д.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2024, 13:17
Ответы с готовыми решениями:

Как избежать повтора параметров конструктора класса-родителя в конструкторе наследника?
С каждым новым наследуемом классом, число параметров конструктора увеличивается. class A { public: A(int a, float b, double c) ...

Доступ к приватному методу наследника через родителя
Тут натолкнулся на интересную штуку. #include &lt;iostream&gt; using namespace std; class A { public: virtual void f() { ...

Нужно из класса наследника передать параметры в класс родителя
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; class ploskost{ protected: float d; int x1,y1,x2,y2; public: ...

22
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
21.03.2024, 19:44
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от eva2326 Посмотреть сообщение
Что бы не было UB, Карл!!!
но если при использовании unique_ptr не использовать всякие полиморфные прибамбасы, то UB не будет верно?
0
 Аватар для eva2326
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
21.03.2024, 20:06
Цитата Сообщение от _stanislav Посмотреть сообщение
но если при использовании unique_ptr не использовать всякие полиморфные прибамбасы, то UB не будет верно?
Правило простое: если статический тип не совпадает с динамическим, тогда нужен вирт. деструктор.

C++
1
2
3
4
5
// Cтатический тип: bаse
// Динамический тип: der
base* p = new der;
 
delete p; // Нужен вирт. деструктор
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
21.03.2024, 20:10
Цитата Сообщение от eva2326 Посмотреть сообщение
Правило простое: если статический тип не совпадает с динамическим, тогда нужен вирт. деструктор.
это я понял и знал и выступаю тоже евангелистом по этому поводу, но конкретно в данном коде UB конечно же есть, но хуже от этого не станет?
C++
1
2
3
4
5
struct A { virtual void f(); };
struct B : A {};
 
A * pa{ new B };
delete pa;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2024, 20:10

Лишнее удаление родителя при создании класса наследника
Не могу понять откуда в выводе программы появляется первая надпись &quot;delete A&quot;. По идее надписей &quot;delete&quot; должно быть столько же,...

Правда, что указатель класса-наследника не может указывать на объект класса-родителя?
Доброго времени суток! Пример кода ниже. Правда ли , что указатель класса-наследника не может указывать на объект класса-родителя? ...

Сборка мусора у наследника и родителя
Добрый день. Есть класс родитель и класс наследник: public abstract class AbstractActivity extends AppCompatActivity { protected...

Доступ к private полю родителя из наследника
Здравствуйте! Изучаю Java, столкнулся с таким вопросом: Допустим, в родительском классе есть private-поле и private-метод. Вопрос: есть...

Вызывается метод родителя, а не наследника. (Проблема с наследованием в параметрах метода)
Помогите, пожалуйста, у меня есть класс Entity, в котором работает коллайдер. class Entity: public virtual void Visit(Bullet...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru