【发布时间】:2013-12-21 21:45:27
【问题描述】:
为了得到……
void MinPriority::createArray(string targetVertex, Graph & graph)
{
vector <list <Graph::Edge> >& adjList = graph.get_adjList();
}
为了工作,我需要通过另一个函数的引用传入Graph &graph:
void Graph::MST_PRIM()
{
MinPriority priority;
for(unsigned int i = 0; i != adjList.size(); i++)
{
priority.createArray(adjList[i].front().m_vertex, /*...*/);
}
}
我会在/*...*/ 中添加什么来让 createArray 工作?
以下是 Graph 类的粗略示例:
class Graph
{
private:
vector< list<Edge> > adjList;
public:
Graph();
~Graph();
class Edge
{
public:
Edge(string vertex, int weight)
{
m_vertex = vertex;
m_weight = weight;
}
~Edge(){}
string m_vertex;
int m_weight;
};
vector < list < Edge > > get_adjList(){return adjList;}
//Other functions....
};
如果您需要更多信息,请通知我。基本上我想通过引用访问 adjList 并在 createArray 中使用它来制作一个向量。 (当然在单独的课程中)
【问题讨论】:
标签: c++ class oop parameters pass-by-reference