型なし言語逝ってよし
■ このスレッドは過去ログ倉庫に格納されています
0731デフォルトの名無しさん
NGNG「要所」については了解。
折れは多相型や動的型付は欠陥ではなく、逆に武器になるということだけ言いたかった。
型を決定できるかどうかについては、例えば、こんな場合はどう思う?
1. parametric polymorphism
id x = x
ここで、「=」の右側に出てくる「x」の型は?
2. inclusion polymorphism
Shape something() {
if (rand() > 0.5)
return Point(0, 0)
else
return Rectangle(0, 0, 0, 0)
}
さあ、この関数sample()の返値の型は?答えはShape。
では、この関数から返されるオブジェクトの型は?
また、以下の場合、
Shape something() {
Shape s;
if (rand() > 0.5)
s = Point(0, 0)
else
s = Rectangle(0, 0, 0, 0)
return s;
}
変数sが指すオブジェクトの型は?
3. ad-hoc polymorphism
加算演算子「+」に文字列演算子「+」がオーバーロードされているとして、
a ++ b
の型は?
aやbがinclusion polymorphismの2番目の例に出たような形で決定されていたら?
■ このスレッドは過去ログ倉庫に格納されています