Я создал класс со сведениями о студенте (имя и идентификатор), и я хочу использовать объект этого класса в качестве значения ключа для сопоставления. У меня есть некоторые вопросысортировка, когда объект класса используется в качестве ключа для отображения
Я получаю сообщение об ошибке при компиляции этого кода. Пожалуйста, скажите мне решение для этого?
Поскольку карта заказана, здесь у меня есть объект как ключевое значение, и у него есть как строка, так и число, основанные на том, какое значение ключа будет отсортировано?
Я использовал
cout<<(*ii).first<<'\t'<<(*ii).second<<endl;
напечатать значение. Это правильный способ вывести значение объекта класса
((*ii).first)?
Просьба найти свой код ниже
#include<iostream>
#include<map.h>
#include<utility>
#include<string.h>
using namespace std;
class A
{
private:
char name[10];
int id_no;
public:
A(char *myname,int no):id_no(no)
{
strcpy(name,myname);
}
void output()
{
cout<<name<<'\t'<<id_no<<endl;
}
};
int main()
{
map<A,int> e;
A a("abc",10);
A b("xyz",1);
e.insert(pair<A,int>(a,123));
e.insert(pair<A,int>(b,345));
for(map<A,int>::iterator ii = e.begin(); ii!= e.end(); ii++)
{
cout<<(*ii).first<<"rank is"<<(*ii).second<<endl;
}
return 0;
}
Какая ошибка? – Mark