1- en el namespace std ya existe una clase string no tienes
que crear una .
2- en el constructor de vertice next debe ser un
puntero para que puedas asignarle NULL ( arco* next = NULL )
3- en el constructor de arco siga debe ser un puntero
para que puedas asignarle NULL ( arco* siga = NULL )
4- en la linea donde esta la funcion "void grados_de_cada_vertice"
debes colocar void grados_de_cada_vertice();
#include <iostream>
using namespace std;
class arco;
class vertice
{
vertice(string name = "", vertice *sig = NULL, arco *next = NULL)
{
sigv = sig;
sigarco = next;
nombre = name;
ubicacion = "";
}
int llave;
vertice *sigv;
arco *sigarco;
string nombre;
string ubicacion;
friend class grafo;
};
typedef vertice *pvertice;
class arco
{
arco(int p, int b, int d, arco* siga = NULL)
{ peso = p;
sigArco = siga;
backbond = b;
distancia = d;
}
int peso;
arco *sigArco;
int backbond;
int distancia;
friend class grafo;
};
typedef arco *p_arco;
class grafo
{
grafo()
{
privertice = vertice_act = NULL;
priarco = arco_act = NULL;
}
public:
void menu_principal();
void nuevo_vertice();
void nuevo_Arco();
void modif_Arco();
void modif_vertice();
void arbol_de_expancion_minima();
void Imprimir_grafo_en_amplitud();
void Imprimir_grafo_en_profundidad();
void grados_de_cada_vertice();
void grado_Interno();
void grado_Externo();
void rutas_alternativas();
void rutas_mas_directas();
void Backbone();
void vertices_conexos();
private:
pvertice privertice;
pvertice vertice_act;
p_arco priarco;
p_arco arco_act;
};