Тема: Перевантаження операторів
Потрібно перевантажити оператор порівняння (> або <=), а також перевантажити оператор виводу в потік
Перевантажити потрібно в класі "Flight.h" тривалість рейсів, але я не розумію як це зробити з циклом, де дані вводяться з клавіатури користувачем. Я пробував щось зробити з цим, але не виходить
main.cpp
#include <iostream>
#include <string>
#include "Flight.h"
#include "Plane.h"
using namespace std;
int main()
{
setlocale(0, ".1251");
Plane planedef;
Plane planecop(planedef);
const int count_planes = 3;
Plane plane[count_planes];
for (int i = 0; i < count_planes; ++i) {
string name;
int weight, date;
cout << "Введiть назву та рiк випуску лiтака: " << endl;
cin >> name >> date;
plane[i].setNd(name, date);
cout << "Введiть цiну лiтака: " << endl;
cin >> weight;
plane[i].setW(weight);
}
for (int i = 0; i < count_planes; i++) {
cout << plane[i].getNd();
}
const int count_flights = 2;
Flight flight[count_flights];
for (int i = 0; i < count_flights; ++i) {
string name_flight;
int duration;
cout << "\nВведiть назву та тривалiсть рейсу: " << endl;
cin >> name_flight >> duration;
flight[i].setF(name_flight, duration);
}
for (int i = 0; i < count_flights; i++) {
cout << flight[i].getF();
}
return 0;
}
Flight.h
#pragma once
#include <string>
using namespace std;
class Flight {
private:
double x, y;
string name_flight = "";
int duration = 0;
bool CheckPlane(int date_check) {
if (date_check >= 0 && date_check <= 2022) {
return true;
return false;
}
}
public:
Flight()
{
std::cout << "\nFlight default constructor" << std::endl;
name_flight = "Невiдомий рейс";
duration = 0;
}
Flight(std::string nf, int df) : name_flight(nf), duration(df)
{
std::cout << "Flight constructor: " << name_flight << std::endl;
}
Flight(const Flight& other) : name_flight(other.name_flight), duration(other.duration)
{
std::cout << "Flight copy constructor: " << name_flight << std::endl;
}
~Flight()
{
std::cout << "\nFlight destructor: " << name_flight << std::endl;
}
friend Flight operator < (const Flight& d1, const Flight& d2) {
}
string getF() {
string answer = "\nНазва рейсу: " + name_flight + "\nТривалiсть: " + to_string(duration);
return answer;
}
void setF(string nf, int df) {
bool nPlane = CheckPlane(df);
if (nPlane) {
name_flight = nf;
duration = df;
}
else {
cout << "Не вірні параметри" << endl;
}
}
};