c++ - 在 C++ 中使用数组仅存储类的数据成员的名称

标签 c++ string data-members

假设我有一个类

class A {
  char a[15], b[11],c[17];
public:
  void names();

}
void A :: names() {
   char x[20];
   x=a;
   cout<<x;
   x=b;
   cout<<x;
   x=c;
   cout<<x;
} 

我想从 A 的每个成员复制 x 中的数据 一个一个地使用for循环来表示成员名称。 有什么方法可以存储它们吗?所以像-

    void A :: names() {
           char x[20];
           while(all members of A not traversed){
                 x=current member;
                 cout<<x;
                 update member;
          }
    }

最佳答案

听起来您想遍历一个类的成员。喜欢

for (variable in a's members) {
    a.x append variable's value
}

没有简单的方法可以遍历类的成员。你应该使用 map相反,它提供键之间的迭代功能。

for (auto const& x : the_map) {
    x.first  // name or key
    x.second // value
}

关于c++ - 在 C++ 中使用数组仅存储类的数据成员的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42918466/

相关文章:

c++ - 数组错误的初始值设定项太多

python - 按子字符串标准过滤 pandas DataFrame

c++ - 我应该如何将对象传递给类以检查碰撞?

c++ - "class::data member is private"错误,但我正在使用成员函数对其进行操作?

c++ - 映射类的数据成员

c++ - 为什么 stoi/atoi 向我提供编译器错误?

c++ - 如何修改程序使其通过?

c++ - 移动构造函数会自动初始化未列出的成员吗?

java - 对存储为字符串的 double 进行排序?

越界的 C 数组内容是 '\0' 但不是随机值