Здравствуйте, почему не работает перегрузка оператора < ?
#include <iostream>
#include <conio.h>
using namespace std;
class Date
{
int kurs;
float rate, avarage;
public:
Date(int m, float d, float y)
{
kurs = m; rate = d; avarage = y;
}
bool operator < (Date &v1)
{
int vTemp1 = v1.kurs;
return vTemp1;
}
~Date(){}
};
int main()
{
Date dt(35, 116, 92);
Date dt1(70, 69, 92);
bool k = dt1<dt;
if(k) cout << "dt < dt1";
else cout << "dt > dt1";
getch();
return 0;
}
Ну так у вас он написан так, что что бы вы ни сравнивали, выведется kurs того, что справа от сравнения, приведенный к bool - т.е. true...
Если вы хотите, скажем, сравнивать по полю kurs, то напишите
bool operator < (const Date &v1) const
{
return kurs < v1.kurs;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости