如何对多个对象的一个成员排序,之后根据这个顺序返回对象?

class A{

public:

int num;

}

int main{

A object1;

object1.num = 2;

A object2;

object2.num = 1;

A object3;

object3.num = 3;

.......

}

假如我现在需要从小到大排序,就需要返回object2,object1,object3。
谢谢大家了

这是完整代码:

#define _CRT_SECURE_NO_WARNINGS
#include <time.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

class A {
public:
    int idx;//序号
    int num;//数字
};

int main() {

    ///生成排序对象
    int numbers[] = { 48,1,77,8,31,47,2,6,90 };//原始数据
    int length = sizeof(numbers) / sizeof(numbers[0]);
    A* object = new A[length];
    cout << "原始数据:\n";
    for (int i = 0; i < length; i++)
    {
        object[i].idx = i;
        object[i].num = numbers[i];
        printf("Object_%d.num = %d\n", object[i].idx, object[i].num);
    }

    //排序算法:
    //比较对象数组中每个对象的num值是否大于下一个对象的num值,
    //如果大于,则交换位置,然后不断反复直到没有发生交换位置的情况,
    //即得到答案。
    bool isfinished = false;
    while (!isfinished)
    {
        isfinished = true;
        for (int i = 0; i < length - 1; i++)
        {
            if (object[i].num > object[i + 1].num)
            {
                A tmpobj = object[i];
                object[i] = object[i + 1];
                object[i + 1] = tmpobj;
                isfinished = false;
            }
        }       
    }
    cout << "排序后:\n";
    for (int i = 0; i < length; i++)
    {
        printf("Object_%d.num = %d\n", object[i].idx, object[i].num);
    }
    char quitchar=getchar();
    return 0;
}

可以使用java中的Collections.sort()。大概可以看一下下面链接
https://blog.csdn.net/qq_23179075/article/details/78753136

用qsort排序 https://blog.csdn.net/zhao888789/article/details/79186619

你可以看到它的例子,自己写一个类似cmp_int cmp_char的方法,将你的比较规则作为函数,传进取

主要是对象的名字你打算怎么算,你类里面应该加个名字,以区分类对象,再做个接口显示名字,之后做个对象数组每个对象名字不一样,然后就按num 进行排序,和普通变量数组排序一样,做个起泡排序,然后输出各个对象名称就行了。

        List<A> list = new ArrayList<> ();
        list.add(object1);
        list.add(object2);
        list.add(object3);
        list.sort(Comparator.comparing(A::getNum));
        list.stream().forEach(item -> System.out.println(item.getNum()));

Map
然后根据这个排序 取对应的object'