要使C++中类的所有对象都输出,可以在类中定义一个静态成员变量,并在构造函数中将每个对象的地址存储在该变量中。然后,可以编写一个静态成员函数来遍历该变量并输出每个对象的内容。

以下是一个示例代码:

#include <iostream>
using namespace std;

class MyClass {
private:
    int value;
    static MyClass* objects[100];
    static int count;

public:
    MyClass(int v) {
        value = v;
        objects[count++] = this;
    }

    static void printAll() {
        for (int i = 0; i < count; i++) {
            cout << objects[i]->value << endl;
        }
    }
};

MyClass* MyClass::objects[100];
int MyClass::count = 0;

int main() {
    MyClass obj1(1);
    MyClass obj2(2);
    MyClass obj3(3);

    MyClass::printAll();

    return 0;
}

在上面的代码中,我们定义了一个静态成员变量objects,用于存储所有对象的指针。在构造函数中,我们将this指针存储在objects数组中,并且每次构造函数调用时,count变量会自增。最后,我们编写了一个静态成员函数printAll,该函数遍历objects数组并输出每个对象的值。

main函数中,我们创建了三个MyClass对象,然后调用MyClass::printAll()函数输出所有对象的值

如何使c++中类的所有对象都输出

原文地址: https://www.cveoy.top/t/topic/dJp9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录