#include <iostream>

class Solver; // forward declare Solver

class Parameters
{
	friend class Solver; // make Solver as friend of Parameters 
private:
	int m_;
	double dx_, eps_;
public:
	Parameters(int M1, double dx1, double   eps)
		: m_(M1), dx_(dx1), eps_(eps) 
		{}

};
class Solver
{
	// member variables
public:
	int Solve(Parameters& obj)
	{
		// now you can
		std::cout << obj.m_ << " " << obj.dx_ << " " << obj.eps_ << std::endl;
		return obj.m_;
	}
};
int main()
{
	Parameters parObj(1, 2.0, 3.0);
	Solver solverObj;
	std::cout << "result: " << solverObj.Solve(parObj);  // call the function here
	std::cin.get();
}
