powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / typeid
2 сообщений из 2, страница 1 из 1
typeid
    #34304545
dimadv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здрасте.
CCard - абстрактный
CMedCard - наследник
CList - список принимает CCard

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
privat 
   CCard *CList::Copy(CCard *_pcCard); // должна копировать элемент
   {
     return new typeid(_pcCard);
   }
public
  int CList::Add(CCard *_pcNewCard) // добавляет новый элемент в список
  {
  <..>
    Добавить в список(Copy(_pcNewCard))
  <..>
  }

main()
{
   СList List;
   CMedCard MedCard;
   List.Add(MedCard);
}

Метод Copy должен определить тип и создать новый элемент такого же типа.
А как это сделать незнаю.
...
Рейтинг: 0 / 0
typeid
    #34304907
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это же элементарно, dimadv!

class CCard
{
...
virtual CCard* clone() const = 0;
...
}

class CMedCard : public CCard
{
CMedCard(const CMedCard&);
...
virtual CCard* clone() const { return new CMedCard(*this);}
...
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / typeid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]