| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2273 人关注过本帖
标题:关于对象数组调换顺序
只看楼主 加入收藏
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
结帖率:100%
收藏
 问题点数:0 回复次数:1 
关于对象数组调换顺序
class CFather {
protected:
    int count;
public:
    int getCount {
        return count;
    }
}
class CSon1 : public CFather {
}
class CSon2 : public CFather {
}
class CSon 3 : public CFather {
}
int main() {
    CFather * F[3] = {new CSon1(), new CSon2(), new CSon3()};
    //根据三个的不同子类对象的count从高到低重新对数组进行排序
}
自己想过一个方法
用类似于temp = F[n]
F[n] = F[m]
F[m] = temp
的方法,但是不知道运算符重载应该怎么写

[此贴子已经被作者于2017-5-24 18:32编辑过]

搜索更多相关主题的帖子: 对象 数组 class public new 
2017-05-24 18:28
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:0 
已经解决,这里给大家一个参考
需要#include <algorithm>
假设有一个对象指针数组 CFather * Son = {new CSon1(), new CSon2(), new CSon3()}
三个数组里都有count,对于count的大小对数组进行重新排序
bool compare(CFather *a, CFather *b) {
    return a.getCount() > b.getCount();
}
int main() {
    CFather * Son = {new CSon1(), new CSon2(), new CSon3()};
    sort(Son, Son + 3, compare);    //内置的排序函数
}
2017-05-24 21:13
快速回复:关于对象数组调换顺序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026601 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved