方法
要注意的是並不是任意兩個類型之間都可以進行強制多態。在不同類型之間實現強制多態,通常需要執行不同的轉換操作。強制多態的原則是:將值集較小(即占用存儲空間較小)的類型,變換成值集包含了前者(即占用存儲空間較大)的類型,反之,應當注意可能發生的對值的損傷(特別是在使用Casting時)。
公式
有時,強制多態與過載多態是混合出現的。例如,對於表達式1+2; 1.0+2; 1+2.0; 1.0+2.0;
中出現的多態,就會有多種解釋:
·操作符+有四種過載多態;
·操作符+只有一種:double * double -> double, 要將參與運算的整數強制變換成浮點數;
·操作符+有兩種過載多態:int * int -> int 和 double * double -> double,要將混合運算中的整數強制變換成浮點數。