Сделать перегрузку опретора Add в представленном ниже коде. #include using namespace std; // Объявление класса class EngMer { int foot; // Футы int inch; // Дюймы public: EngMer() {}; // Конструктор по умолчанию EngMer(int f, int i); // Конструктор int FootInchToInch(int f, int i); // Преобразует футы и дюймы в дюймы void InchToFootInch(int i, int& rf, int& ri); // Преобразует дюймы в футы и дюймы double FootInchToFoot(int f, int i); // Преобразует футы и дюймы в футы void FootToFootInch(double f, int& rf, int& ri); // Преобразует футы в футы и дюймы EngMer Add(EngMer e); // Выполняет сложение длин EngMer Sub(EngMer e); // Выполняет вычитание длин EngMer Mul(EngMer e); // Выполняет умножение длин EngMer Div(EngMer e); // Выполняет деление длин int Cmp(EngMer e); // Сравнивает длины void Print(); // Выводит длину на экран }; // Конструктор EngMer::EngMer(int f, int i) { foot = f; inch = i; } // Преобразует футы и дюймы в дюймы int EngMer::FootInchToInch(int f, int i) { return f * 12 + i; } // Преобразует дюймы в футы и дюймы void EngMer::InchToFootInch(int i, int& rf, int& ri) { rf = i / 12; ri = i % 12; } // Преобразует футы и дюймы в футы double EngMer::FootInchToFoot(int f, int i) { return f + i / 12.0; } // Преобразует футы в футы и дюймы void EngMer::FootToFootInch(double f, int& rf, int& ri) { rf = (int) f; ri = (int) ((f - rf) * 12); } // Выполняет сложение длин EngMer EngMer::Add(EngMer e) { int i = FootInchToInch(foot, inch) + FootInchToInch(e.foot, e.inch); int rf, ri; InchToFootInch(i, rf, ri); EngMer res(rf, ri); // Объект Результат сложения return res; } // Выполняет вычитание длин EngMer EngMer::Sub(EngMer e) { int i = FootInchToInch(foot, inch) - FootInchToInch(e.foot, e.inch); int rf, ri; InchToFootInch(i, rf, ri); EngMer res(rf, ri); // Объект Результат вычитания return res; } // Выполняет умножение длин EngMer EngMer::Mul(EngMer e) { double f = FootInchToFoot(foot, inch) * FootInchToFoot(e.foot, e.inch); int rf, ri; FootToFootInch(f, rf, ri); EngMer res(rf, ri); // Объект Результат умножения return res; } // Выполняет деление длин EngMer EngMer::Div(EngMer e) { double f = FootInchToFoot(foot, inch) / FootInchToFoot(e.foot, e.inch); int rf, ri; FootToFootInch(f, rf, ri); EngMer res(rf, ri); // Объект Результат деления return res; } // Сравнивает длины int EngMer::Cmp(EngMer e) { int i1 = FootInchToInch(foot, inch); int i2 = FootInchToInch(e.foot, e.inch); if (i1 < i2) return -1; if (i1 > i2) return 1; return 0; } // Выводит длину на экран void EngMer::Print() { cout << foot << " футов, " << inch << " дюймов" << endl; } void main() { setlocale(LC_ALL, "russian"); // Русский шрифт EngMer e1(6, 8); // Объект 1 cout << "Объект 1: "; e1.Print(); EngMer e2(2, 10); // Объект 2 cout << "Объект 2: "; e2.Print(); EngMer e3; // Объект Результат выполнения операций e3 = e1.Add(e2); cout << "Результат сложения: "; e3.Print(); e3 = e1.Sub(e2); cout << "Результат вычитания: "; e3.Print(); e3 = e1.Mul(e2); cout << "Результат умножения: "; e3.Print(); e3 = e1.Div(e2); cout << "Результат деления: "; e3.Print(); cout << "Результат сравнения: "; int k = e1.Cmp(e2); switch (k) { case -1: cout << "Объект 1 меньше Объекта 2"; break; case 0: cout << "Объект 1 равен Объекту 2"; break; case 1: cout << "Объект 1 больше Объекта 2"; break; } cout << endl; system("pause"); // Ждем нажатия клавиши }