El código que envíe no tiene errores sintácticos y si compila . yo copie el código
exactamente como tu lo enviaste y solo corregí los errores sintácticos del código
no intente nunca crear un objeto de la clase “vertice” , “arco” o “grafo” porque
las funciones no están definidas y el grafo no funcionaria .
Cuando tratas de crear un objeto de una de estas clases el error ocurre porque los constructores de un objeto no pueden ser privados ( private: ) deben ser públicos ( public: )
class vertice{
public:
vertice(string name = "", vertice *sig = NULL, arco *next = NULL){
sigv = sig;
sigarco = next;
nombre = name;
ubicacion = name;
}
int llave;
vertice *sigv;
arco *sigarco;
string nombre;
string ubicacion;
friend class grafo;
};
typedef vertice *pvertice;
typedef arco *p_arco;
class grafo{
public:
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;
};
El especificador de acceso por defecto de las clases en C++ es "private:"