Здравствуйте, почему не работает перегрузка оператора < ?
#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;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Цикличная конструкция крива, не выводит миноры элементов матрицы уже после первогоТ
Задача заключается в проверке наличия у типа T функции определенного видаИспользуем класс ограничений
Нужно разработать программу, управляющую списком из двух записейРабота в Qt, нужно создать оконное приложение