// functions -> methods (member functions)

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

struct rat {
    int num;
    int den;
    string toString();
    rat multiply(rat r);
};

int main() {
    rat onehalf = {1, 2};
    rat threefourths = {3, 4};
    rat product = onehalf.multiply(threefourths);

    cout << onehalf.toString() << endl;
    cout << product.toString() << endl;
}

string rat::toString() {
    ostringstream oss;
    oss << num << '/' << den;
    return oss.str();
}

rat rat::multiply(rat r) {
    rat val;
    val.num = num * r.num;
    val.den = den * r.den;
    return val;
}
