В этом коде ниже функция foo в глобальной области пытается получить доступ к закрытым переменным Box, что, конечно, не работает.Я должен заставить функцию foo работать с одной строкой кода в коде места показа для школьного задания.
#include <iostream>
using namespace std;
class Box {
int x,y;
public:
Box(int xi,int yi) {x=xi;y=yi;}
// One line of code to make foo(Box, Box) work
};
bool foo(Box l,Box r) {return (l.x*l.y)>(r.x*r.y);}
int main(int argc, char* argv[]) {
Box b1(3,4),b2(1,2);
if (foo(b1,b2)) cout << "b1>b2\n";
return cin.get();
}