2016-02-05 1 views
-1
#ifndef COMMUNICATIONNETWORK_H 
#define COMMUNICATIONNETWORK_H 
#include <iostream> 
    struct City{ 
    std::string cityName; 
    std::string message; 
    City *next; 

    City(){}; // default constructor 

    City(std::string initName, City *initNext, std::string initMessage) 
    { 
     cityName = initName; 
     next = initNext; 
     message = initMessage; 
    } 

}; 

class CommunicationNetwork 
{ 
    public: 
     CommunicationNetwork(); 
     ~CommunicationNetwork(); 
     void addCity(std::string, std::string); 
     void buildNetwork(); 
     void transmitMsg(char *); //this is like a string 
     void printNetwork(); 
    protected: 
    private: 
     City *head; 
     City *tail; 
}; 

#endif // COMMUNICATIONNETWORK_H 

мне было просто интересно, что именно этот .h делает/устанавливает и как я должен был бы действовать в моем CommunicationsNetwork.cpp, а также my main.cpp, чтобы построить список данных городов.Создание связанного списка городов, используя класс структуры с заданными .h файл C++

Примечание: этот код должен в конечном итоге иметь возможность добавлять города в список, распечатывать города в связанном списке и передавать сообщение, но сейчас я заинтересован в создании связанного списка.

+1

Я бы предположил, что вы должны реализовать функции, объявленные в 'CommunicationNetwork'. –

+0

Как вы делали предыдущие задания? – Beta

+0

Если вам дали эти данные, вам также должно было быть дано некоторое описание того, что все и что нужно делать. Постороннему невозможно догадаться. – molbdnilo

ответ

0

Как я вижу CommunicationsNetwork.h есть объявления для структуры и класса, поэтому в CommunicationsNetwork.cpp должна быть определениями для всех методов-членов class CommunicationNetwork, что-то вроде:

 #include "CommunicationNetwork.h" 
     . . . // some other #include directives 
     CommunicationNetwork::CommunicationNetwork(){ 
      . . . 
     } 
     . . . 
     void CommunicationNetwork::printNetwork() 
     { 
      . . . 
     } 

Чтобы использовать CommunicationNetwork класс и City-структуру в main.cpp вам нужно :

  1. Включить ч-файл в main.cpp как #include "CommunicationNetwork.h"
  2. Компиляция CommunicationsNetwork.cpp с main.cpp (т. ссылка скомпилированных файлов в одном двоичном)

Если у вас нет CommunicationsNetwork.cpp и ваша задача состоит в том, чтобы написать определения для методов класса CommunicationsNetwork вы должны начать с разработкой алгоритма для всех действий (я имею в виду, подумайте над тем, как построить сеть, как добавить город и т. д.).

Конструктор по умолчанию может быть как:

CommunicationNetwork::CommunicationNetwork() 
{ 
    head = NULL; 
    tail = NULL; 
} 

Destructor (т.е. CommunicationNetwork::~CommunicationNetwork()) должны удалить все элементы из списка и свободной памяти, выделенной для хранения элементов.

Помните о проверке значения head и tail при добавлении города к сети (добавление в пустой список может немного отличаться, потому что после того, как первый элемент сделал head также tail).

Итак, начните писать код и удачи!