fork download
  1. #include <iostream>
  2.  
  3. class Solver; // forward declare Solver
  4.  
  5. class Parameters
  6. {
  7. friend class Solver; // make Solver as friend of Parameters
  8. private:
  9. int m_;
  10. double dx_, eps_;
  11. public:
  12. Parameters(int M1, double dx1, double eps)
  13. : m_(M1), dx_(dx1), eps_(eps)
  14. {}
  15.  
  16. };
  17. class Solver
  18. {
  19. // member variables
  20. public:
  21. int Solve(Parameters& obj)
  22. {
  23. // now you can
  24. std::cout << obj.m_ << " " << obj.dx_ << " " << obj.eps_ << std::endl;
  25. return obj.m_;
  26. }
  27. };
  28. int main()
  29. {
  30. Parameters parObj(1, 2.0, 3.0);
  31. Solver solverObj;
  32. std::cout << "result: " << solverObj.Solve(parObj); // call the function here
  33. std::cin.get();
  34. }
  35.  
Success #stdin #stdout 0s 4428KB
stdin
Standard input is empty
stdout
1 2 3
result: 1