// access control to data and methods

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

class rat {
public:
    string toString();
    rat multiply(rat r);
    void assign(int n, int d);
private:
    int num;
    int den;
};

int main() {
    rat onehalf;
    onehalf.assign(1, 2);
    rat threefourths;
    threefourths.assign(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;
}

void rat::assign(int n, int d) {
    num = n;
    den = d;
}
