嗨,我有一些私有(private)成员的C++类,如下所示
template <typename V, typename E>
class Vertex
{
public:
Vertex();
~Vertex();
typedef std::pair<int, E> edgVertPair;
typedef std::vector<edgeVertPair> vectEdges;
void setVertexID(int data);
int getVertexID();
void setEdgeVertPair(int vertID, E edge);
edgVertPair getEdgeVertPair();
void setEdgeList(edgeVertPair edgeVert);
vectEdges getEdgeList();
private:
int vertexID;
edgVertPair evp;
vectEdges edgeList;
};
现在我想创建一对,例如
evp.first="someint";evp.second="somestring";
然后将此evp推送到edgeList,即edgeList.push_back(evp);
现在问题出在setter函数中,我做了这样的事情:
template<typename V, typename E>
void Vertex<V, E>::setEdgeVertPair(int vertID, E edge){
...populate evp;...
}
现在我不知道如何用vertID,edge填充evp对。
最佳答案
使用std::make_pair
填充evp对。
http://www.cplusplus.com/reference/std/utility/make_pair/
关于c++ - 如何在C++中初始化类的私有(private)成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9754228/