Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Связанный список 
V
    Опции темы
toxx
Дата 29.3.2009, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: нет
Всего: 13



Читаю книгу Джесс Либерти-Освой_Cpp_самостоятельно за 21 день.И в теме приведен код создания связанного списка.При компиляции возникает множество ошибок.Одна из которых в строчке
virtual void Show(){myData->Show();myNext->Show();}

Помогите пожалуйста разобраться.Мб кто читал или знает в чем проблема.

Код

#include <iostream.h>
enum {kIsSmaller,kIsLarger,kIsSame};
class Data
{
     public:
     Data(int val):myValue(val){}
     ~Data(){}
     int Compare(const Data &);
     void Shaw(){cout<<myValue<<endl;}
     private:
     int myValue;
};
int Data::Compare(const Data & theOtherData)
{
     if (myValue<theOtherData.myValue)
       return kIsSmaller;
     if (myValue>theOtherData.myValue)
       return kIsLarger;
        else
          return kIsSame;
}

class Node;
class HeadNode;
class TailNode;
class InternalNode;

class Node
{
     public:
     Node(){}
     virtual ~Node(){}
     virtual Node *Insert(Data *theData)=0;
     virtual void Show()=0;
     private:
};

class InternalNode: public Node
{
     public:
     InternalNode(Data *theData,Node *next);
     ~InternalNode(){delete myNext;delete myData;}
     virtual Node *Insert(Data *theData);
     virtual void Show(){myData->Show();myNext->Show();}
   private:
     Data *myData;
     Node *myNext;
};

InternalNode::InternalNode(Data *theData,Node *next):
myData(theData),myNext(next)
{
}

Node *InternalNode::Insert(Data *theData)
{
     int result=myData->Compare(*theData);
     switch(result)
     {
       case kIsSame:
       case kIsLarger:
        {InternalNode *dataNode=new InternalNode(theData,this);
          return dataNode;
        }
       case kIsSmaller:
       myNext=myNext->Insert(theData);
       return this;
     }
   return this;
}

class TailNode:public Node
{
  public:
   TailNode(){}
   ~TailNode(){}
   virtual Node *Insert(Data *theData);
   virtual void Show(){}
   private:
};

Node *TailNode::Insert(Data *theData)
{
     internalNode *dataNode= new InternalNode(theData,this);
     return dataNode;
}

class HeadNode::public Node
{
     public:
     HeadNode();
     ~HeadNode(){delete myNext;}
     virtual Node *Insert(Data *theData);
     virtual void Show(){myNext->Show();}
     private:
     Node *myNext;
};

HeadNode::HeadNode()
{
     myNext=new TailNode;
}

Node *HeadNode::Insert(Data *theData)
{
     myNext=myNext->Insert(theData);
     return this;
}

class LinkedList
{
     public:
     LinkedList();
     ~LinkedList(){delete myHead;}
     void Insert(Data *theData);
     void ShowAll(){myHead->Show();}
     private:
     HeadNode *myHead;
};

LinkedList::LinkedList()
{
     myHead=new HeadNode;
}

void LinkedList::Insert(Data *pData)
{
     myHead->Insert(pData);
}

int main()
{
     Data *pData;
     int val;
     LinkedList ll;

     for (; ;)
     {
      cout<<" znach ( 0 ) ";
      cin>>val;
      if (!val) break;
      pData=new Data(val);
      ll.Insert(pData);
     }
  ll.ShowAll();
  return 0;
}



update... разобрался и нашел ошибки.не знаю как тему удалить.

Это сообщение отредактировал(а) toxx - 29.3.2009, 21:16
PM MAIL   Вверх
CaLaT
Дата 30.3.2009, 07:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 29.6.2008
Где: Город родной - Пи тер я твой!

Репутация: нет
Всего: нет



Выложи решение и пометь проблему как решённую (вверху справа)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.4720 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.