Creating an adjacency list in C++
You don't have enough comments, and the comments that you have don't explain anything. Comments are supposed to explain why the code is the way it is (in other words: what the goal is), not restate the obvious. Everyone who knows graph theory knows that edges link vertexes, and everyone who knows C knows that something typed as Vertex * is a pointer to a vertex. Those comments have no point and should be removed.
Where's the implementation of Graph::BFS()?
Where's the code that calls ::Add_data?
What is ::Add_data even supposed to do? It appears to only support one-line files; was that your intention? Is it the same function as Vertex::Add_data?
What's the point of the linked list, when it never gets initialized?
Whenever you're manually repeating something, either by typing similar stuff over and over again, or by copy-pasting, you're doing something wrong. Computers are good at automating repetitive tasks. When you write code, you should think of writing loops. So code like 

if(!(data&gt;&gt;parent&gt;&gt;child1&gt;&gt;child2&gt;&gt;child3&gt;&gt;child4&gt;&gt;child5&gt;&gt;child&gt;&gt;6&gt;&gt;child7&gt;&gt;child8))


should never appear (besides the obvious syntax error of the spurious &gt;&gt; between child and 6).