C++ c++;:访问抽象基类中的私有变量

C++ c++;:访问抽象基类中的私有变量,c++,abstract-class,private-members,traveling-salesman,C++,Abstract Class,Private Members,Traveling Salesman,长期潜伏者,第一次询问者。我正在C++中做一个关于TSP(TSP)的项目,我有一个小问题。我需要取两个节点(在这个场景中称为nodeid,它们是无符号整数),并在addEdge方法中在它们之间添加一条边。签名以及老师的一些笔记(我将在后面填写前提条件): /* *在节点u和v之间添加加权的无向边。 * *先决条件: *u和v是合法的标签(即0在本例中,Graph是基类,而不是ListGraph,因此我不确定您的描述是否准确,但据我所知,您正在实现ListGraph::addEdge()。所以您

长期潜伏者,第一次询问者。我正在C++中做一个关于TSP(TSP)的项目,我有一个小问题。我需要取两个节点(在这个场景中称为nodeid,它们是无符号整数),并在addEdge方法中在它们之间添加一条边。签名以及老师的一些笔记(我将在后面填写前提条件):

/*
*在节点u和v之间添加加权的无向边。
* 
*先决条件:

*u和v是合法的标签(即0在本例中,
Graph
是基类,而不是
ListGraph
,因此我不确定您的描述是否准确,但据我所知,您正在实现
ListGraph::addEdge()
。所以您可以直接访问
ListGraph::edgeList

我想您只是误解了这里的结构,或者我误解了

据我所知,您将在

addEdge() 
中的方法

class ListGraph
这使您可以访问私有变量“edgeList”

抽象类是“Graph”类,“ListGraph”继承它。但是,ListGraph中的私有变量可用于ListGraph类

你的逻辑很好,但是我认为你误解了ut所说的“注意:这个类必须保持原样”

/* Code here */ 

在addEdge方法中,我确信您可以编辑它!:)

基类
Graph
实际上只是指定从它派生时必须提供的内容-这就是为什么它的函数是“纯虚拟的”。类
ListGraph
是数据所在的位置,也是定义函数
addEdge
的位置。在该功能中,您将具有对
edgeList
的读/写访问权限。试试看,会有用的。

你能澄清一下你的问题吗?我想您可以通过函数
addEdge
访问
edgeList
,并在节点之间的边缘添加权重,不是吗?我将尝试简化我的问题:在.cpp文件的类中,我有一个方法,其中我尝试从同名的.h文件访问私有变量。.cpp文件包括.h文件,方法具有ClassName::methodName,引用具有ClassName::varName,其中该var是.h文件的私有变量。
addEdge() 
class ListGraph
/* Code here */