buongiorno forum.
Da qualche giorno ho deciso di iniziare a studiare C++ e di convertire alcune mie applicazioni java in C++ come esercizio. Quindi vengo dal mondo java e cerco di applicare le abitudini java a C++ e forse sto commettendo degli errori.

Considerate il seguente codice:
/main.cpp
codice:
#include "model/DiGraph.h"

using namespace std;

int main() {
    DiGraph* dg = new DiGraph(5);
    return 0;
}
/model/DiGraph.h
codice:
#ifndef DIGRAPH_H
#define	DIGRAPH_H

#include "Vertex.h"
#include "list"

using namespace std;

class DiGraph {
public:
    DiGraph(int s);
    DiGraph(const DiGraph& orig); // clone
    virtual ~DiGraph(); // destruct
    
private:
    int size;
    Vertex* vertexes;
};

#endif	/* DIGRAPH_H */
/model/DiGraph.cpp
codice:
#include "DiGraph.h"

DiGraph::DiGraph(int s) {
    vertexes = new Vertex[s];
}

DiGraph::DiGraph(const DiGraph& orig) {
    
}

DiGraph::~DiGraph() {
    
}
Ometto la classe Vertex che non è importante. Il problema è che quando tento di eseguire main mi da: main.cpp:13: undefined reference to `DiGraph:iGraph(int)

e non capisco perché. E' un problema nella suddivisione di file in cartelle? namespace? mi è parso di capire che non c'è una corrispondenza diretta fra la parola chiave package di java e namespace di C++ e leggendo le guide non ci ho capito molto. L'impressione è che non trovi DiGraph.cpp