Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / typeid / 2 сообщений из 2, страница 1 из 1
04.02.2007, 09:36
    #34304545
dimadv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
typeid
Здрасте.
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
04.02.2007, 17:39
    #34304907
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
typeid
Ну это же элементарно, 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
Форумы / C++ [игнор отключен] [закрыт для гостей] / typeid / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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