我想通過對象的屬性(3個字符串,1個整數,1個浮點數)對對象數組排序。我需要按照它們的整數對它們進行排序,從高到低排序,然後按字母順序排序。我無法理解如何訪問對象的一部分。排序對象數組的問題C++
這裏是我所有的代碼,我已經包含了一些用於排序的示例代碼。
#include<iostream>
using namespace std;
#include "video.h"
int main() {
const int MAX = 100;
Video *video[MAX]; //up to 100 videos
for(int l = 0; l < MAX; l++)
{
video[l] = NULL;
// cout << video[l] << endl; //testing if all are equal to 0
}
string title;
string url;
string desc;
string sorting;
float length;
int rate;
// cout << "What sorting method would you like to use?" << endl;
getline(cin, sorting);
//cout << "Enter the title, the URL, a comment, the length, and a rating for each video" << endl;
int t = 0;
while(getline(cin, title))
{
getline(cin, url);
getline(cin, desc);
cin >> length;
cin >> rate;
cin.ignore();
video[t] = new Video(title, url, desc, length, rate);
t++;
}
for(int s = 0; s < t; s++){
video[s]->print();
}
for(int e = 0; e < t; e++)
{
delete video[e];
}
// SORTING
if(sorting == "length") {
int q = 0;
bool Video::longer(Video *video)
{ return m_length > other->m_length; }}
else if(sorting == "rating") {
}
else if(sorting == "title") {
for(int r = 0; r < MAX; r++) {
}
else{
cerr << sorting << " is not a legal sorting method, giving up" << endl;
return 1; }
//this sorts the videos by length
for(int last = num_videos -1; last > 0; last--) {
for(int cur = 0; cur < last, cur++) {
if(videos[cur]->loner(videos[cur+1])) {
swap(videos[cure], videos[cur+1]); }}}
還有很多類似的現有問題(附答案) - 例如:[點擊這裏](HTTP://計算器。 COM /問題/ 19104153/C-排序對象爲基礎的對二數據成員)。如果你試圖遵循這種方法並陷入困境,請展示你的代碼並記錄下你遇到的具體問題。 –
我已經瀏覽了許多關於此的帖子,但是沒有一個實際的過程是以對我有意義的方式解釋的,並且可以應用於我的特定程序。 – Jessie
如果你能顯示你已經完成的工作,只需添加你當前的代碼,並且我們可以幫助你看到錯誤的地方 –