>>574
ストリーム出力で数値も文字列も<<で出力できる(多重定義)とか
vectorがコピー可の型ならなんでも要素に取れる(テンプレート)とか、
複数の型のオブジェクトに同じ操作が適用できることはなんでも多態、ポリモーフィズムと言う。

>>577
それ認めると、
void f(double& x) {x = 42;}
で、
int i = 0;
f(i); // double型の一時オブジェクトを作ってそれを渡す
ここで、fから戻っても元のiは変わらず0のままという混乱必須の事態になるから
エラーにする決まりになった。

const参照ならその心配は要らないので>>578の言うとおりOK。