ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 18.04.2019, 10:21
index
Новичок
Регистрация: 18.10.2015
Сообщений: 6
С нами: 5563739

Репутация: 0
По умолчанию

Цитата:
Сообщение от san0  

Мне кажется, немножко детали упущены по поводу того, как это все должно использоваться.
Есть массив (обертка не подойдет) объектов Cell. Из этого массива произвольным образом выбирается элемент, и, в зависимости от типа ассоциированного с ним объекта другого класса, выполняются определенные действия. По сути, полиморфизм времени выполнения. На псевдокоде это выглядит так:

Код:





Код:
// Cell type1 fileds: index, name, doSmth11(), doSmth12()
// Cell type2 fileds: cost, group, doSmth21(), doSmth22()

Cell cellArr[N];
fill(cellArr);
a = cellArr[random(0,N-1)];
if (a.type == type1)
{
  a.doSmth11();
  a.doSmth12();
}
else if (a.type == type2)
{
  a.doSmth21();
  a.doSmth22();
}


Пример больше подходит для языков с динамической типизацией, но хотелось бы увидеть реализацию подобного на c++.

Цитата:
Сообщение от san0  

P.S. Хотелось бы посоветовать не использовать new в современных проектах: начиная с C++20 new является deprecated. Даже в примерах выше по причине использования new была продемонстрирована утечка памяти
upd: На cppReference ничего об этом не сказано. Также безрезультатно гуглил в других сточниках. Можно поинтересоваться, откуда информация?
 
Ответить с цитированием
 



Предыдущая тема Следующая тема

Здесь присутствуют: 14 (пользователей: 0 , гостей: 14)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.