You could do something like -
Code:
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
class vertices
{
private:
class vertex
{
private:
string name;
int val;
friend istream& operator >>(istream& is, vertex& ve)
{
return is >> ve.name >> ve.val;
}
friend ostream& operator <<(ostream& os, const vertex& ve)
{
return os << ve.name << ' ' << ve.val;
}
};
vertex source;
vertex adj[2];
friend istream& operator >>(istream& is,vertices& ve)
{
string line;
getline(is,line);
stringstream ss;
ss << line;
string discard;
ss >> discard >> discard >> ve.source >> ve.adj[0] >> ve.adj[1];
return is;
}
friend ostream& operator <<(ostream& os, const vertices& ve)
{
return os << ve.source << ' ' << ve.adj[0] << ' ' << ve.adj[1];
}
};
int main()
{
vertices v;
cin >> v;
cout << v << '\n';
return 0;
}