– cpp pass-by-value unless you have pointer
– cpp object assignment also by value
– java default all functions are virtual fns
– pure virtual is java abstract fn
– pure virtual = 0 meaning no function body
– cpp function declaration decides passing reference or value
– e.g. calling swap(a, b) can’t tell ref or val, unless u look at declaration of swap (int& a, int& b).