c++多成员类的构造函数

c++类内含有很多成员(数据类型不同)时,构造函数为每个成员初始化的话要写很长,有没有比较方便的方法来写构造函数
想到的办法是用类成员指针,但是不知道该怎么获取偏移量(令指针自动指向下个元素位置)
例如

class MyClass {
 public:
  //有26个成员
  int a;
  double b;
  char c;
  //...
  int z

};


望采纳


在 C++ 中,如果类内含有很多成员,构造函数为每个成员初始化时可能会写得很长。为了更方便地实现构造函数,您可以使用类成员指针来指向类成员,然后通过成员指针来获取偏移量并实现初始化。

例如,如果您想要初始化一个名为 MyClass 的类,该类中包含三个成员 a、b 和 c,分别为 int、double 和 string 类型,那么您可以使用以下代码来实现构造函数:

class MyClass {
 public:
  // 定义类成员指针
  int *a;
  double *b;
  std::string *c;

  // 构造函数
  MyClass(int a_val, double b_val, const std::string& c_val) {
    // 获取成员指针的偏移量,并初始化每个成员
    a = &this->a;
    b = &this->b;
    c = &this->c;

    // 使用成员指针进行初始化
    *a = a_val;
    *b = b_val;
    *c = c_val;
  }
};