#include class Fraction { //friend int prod(Fraction* fa, int dim, int Fraction::* nd_ptr); friend void opmdemo(); public: Fraction(int a, int b) : num(a), denom(b) {} private: int num; int denom; }; int prod(Fraction* fa, int dim, int Fraction::* nd_ptr) { int ans=1; for (int i=0 ; i < dim ; i++) ans *= fa[i].*nd_ptr; return(ans); } void opmdemo() { Fraction ar[] = {Fraction(1,2), Fraction(2,5), Fraction(3,7)}; int np = prod(ar, 3, & Fraction::num); int dp = prod(ar, 3, & Fraction::denom); cout << np << endl; cout << dp << endl; } int main() { opmdemo(); return(0); }