21xrx.com
2025-03-27 19:04:17 Thursday
文章检索 我的文章 写文章
C++中如何在一个类中定义另一个类的对象数组
2023-07-05 03:29:47 深夜i     22     0
C++类 对象数组 嵌套类 类定义 数组索引

在C++中,类是面向对象编程的基本单位,可以定义和实例化多个对象。而有时候,我们需要在一个类中定义另一个类的对象数组。这个过程有些复杂,需要注意一些细节。

首先,我们需要定义一个包含对象数组的类。假设我们要定义一个学校类,其中包含多个班级。我们可以先定义一个班级类,再在学校类中定义一个班级对象数组。

class School {
private:
 // 定义班级类
 class Class {
 public:
  int student_num;
  // 构造函数
  Class(int n) : student_num(n) {}
 };
 // 定义班级对象数组
 Class classes[3];
public:
 // 构造函数,初始化班级对象数组
 School() : classes{ Class(30), Class(40), Class(50) } {}
};

上面的代码中,我们使用了私有嵌套类的方式定义了一个班级类。班级类只包含一个学生数量的成员变量,以及一个构造函数,用于初始化该成员变量。在学校类中,我们定义了一个班级对象数组,包含三个元素。在学校类的构造函数中,我们使用初始化列表初始化了这个班级对象数组,分别创建了三个班级对象,并指定每个班级的学生数量。

接下来,我们可以在主函数中实例化学校类,访问其中的班级对象数组。

int main() {
 // 实例化学校类
 School my_school;
 // 访问其中的班级对象数组
 for (int i = 0; i < 3; i++) {
  std::cout << "Class " << i + 1 << " has " << my_school.classes[i].student_num << " students." << std::endl;
 }
 return 0;
}

上面的代码中,我们创建了一个名为 my_school 的学校类对象。然后,我们通过 my_school.classes[i] 的方式访问其中的班级对象数组,读取其中的学生数量,最后输出到控制台上。

总的来说,定义一个类中包含另一个类的对象数组是一种复杂的操作。我们需要定义嵌套类、初始化列表等多个步骤。但是,理解这个过程对于深入理解面向对象编程以及C++语言是有帮助的。

  
  
下一篇: C++求模运算

评论区