#include <iostream>
using namespace std;
// class Distance; // forward declaration
// class Point {
// private:
// int x;
// public:
// Point(int v) : x(v) {}
// // your code here: declare friend function sumValues
// };
// class Distance {
// private:
// int d;
// public:
// Distance(int v) : d(v) {}
// // your code here: declare friend function sumValues
// };
// // your code here: define friend function sumValues
// int main() {
// int a, b;
// cin >> a >> b;
// Point p(a);
// Distance dist(b);
// sumValues(p, dist);
// return 0;
// }
class Distance; // Forward declaration so the compiler knows this class exists
class Point {
private:
int x;
public:
Point(int v): x(v){}
friend void sumValues(const Point& p, const Distance& D);
};
class Distance{
private:
int d;
public:
Distance(int v): d(v){}
friend void sumValues( const Point& p, const Distance& D);
};
void sumValues(const Point& p, const Distance& d){
int result = p.x + d.d;
cout<< "Sum="<<result << endl;
}
int main(){
int a,b;
cin >> a >>b;
Point p(a);
Distance dist(b);
sumValues(p,dist);
return 0;
}
Input
5 7
Expected Output
Sum=12