在另一个类中某个类类型的向量上迭代 请用C++代码帮助我,我已经注释了我想做的任何事情,我有一个类ABF,它有一个ABC类型的向量。ABC有一些成员。我有另一个类ZYX,我想在其中使用类DEF中的向量迭代类ABC的成员。我也不能改变ABC和DEF的课程 class ABC{ public: //some members and other stuff } class DEF{ public: .... vector<ABC> cdf; //ABC is some other class } //includes all the necessary part including DEF and ABC class ZYX{ //iterate over members of ABC using cdf } ABC类{ 公众: //一些成员和其他东西 } 类别定义{ 公众: .... 向量cdf;//ABC是另一个类 } //包括所有必要的零件,包括DEF和ABC ZYX类{ //使用cdf迭代ABC的成员 }

在另一个类中某个类类型的向量上迭代 请用C++代码帮助我,我已经注释了我想做的任何事情,我有一个类ABF,它有一个ABC类型的向量。ABC有一些成员。我有另一个类ZYX,我想在其中使用类DEF中的向量迭代类ABC的成员。我也不能改变ABC和DEF的课程 class ABC{ public: //some members and other stuff } class DEF{ public: .... vector<ABC> cdf; //ABC is some other class } //includes all the necessary part including DEF and ABC class ZYX{ //iterate over members of ABC using cdf } ABC类{ 公众: //一些成员和其他东西 } 类别定义{ 公众: .... 向量cdf;//ABC是另一个类 } //包括所有必要的零件,包括DEF和ABC ZYX类{ //使用cdf迭代ABC的成员 },c++,c++11,vector,iterator,C++,C++11,Vector,Iterator,您听说过访问修饰符吗? 有一些关键字,如private、protected和public,它们声明了如何从外部访问类中的变量。请在此阅读: C++类中的默认访问修饰符是私有的。这使得您在类内部声明的变量无法从外部访问 最简单的解决方案是将要使用的特定变量设置为公共变量 class DEF { public: vector<ABC> cdf; //can be accessed from outside } class定义 { 公众: 向量cdf;//可以从外部访问 }

您听说过访问修饰符吗? 有一些关键字,如
private
protected
public
,它们声明了如何从外部访问类中的变量。请在此阅读: C++类中的默认访问修饰符是私有的。这使得您在类内部声明的变量无法从外部访问

最简单的解决方案是将要使用的特定变量设置为公共变量

class DEF
{
public:
  vector<ABC> cdf;    //can be accessed from outside
}
class定义
{
公众:
向量cdf;//可以从外部访问
}
不优雅但有效。可能更好的方法是声明一个函数,返回对要访问的变量的引用,如:

class DEF
{
private:
  vector<ABC> cdf;    //can NOT be accessed from outside
public:
  vector<ABC>& get_cdf() { return cdf; }  //can be accessed from outside
}
class定义
{
私人:
vector cdf;//无法从外部访问
公众:
vector&get_cdf(){return cdf;}//可以从外部访问
}

成员都是公开的。我正在寻找一个代码来迭代。。。在ZYX班。我无法控制类DEF或abc为什么要呈现类的布局,尽量精确地表述问题?对于迭代STD容器,考虑CPP语言引用,我的问题是向量包含类型作为其他类,其成员要访问,而不是一些int,我也有语法问题,在哪里使用->和“哪里”。因此,一些代码片段可以更好地帮助我使用类作为我提到的类型。当访问任意类型的向量元素的成员时,请使用类似myvector[index].mymember的表达式。我不会解释“->”和“”之间的区别。如果你不知道这一点,你就不能对C++语言语法有一个基本的了解。有很多很好的教程。读一下就知道了。这是一个很好的起点