ふらっとC#,C♯,C#(初心者用) Part26
■ このスレッドは過去ログ倉庫に格納されています
0794デフォルトの名無しさん
2008/04/09(水) 19:44:50有名なのは仮想関数と合わせて使うと思わぬ結果になる可能性があるということ。
class Base
{
public virtual void f(int x = 5) {}
}
class Derived : Base
{
public override void f(int x = 10) {}
}
Derived d = new Derived();
Base b = b;
d.f(); //xは10
b.f(); //xは5
仮にC++の規則をそのまま持ち込んだとすると、
呼び出すときのソース上の型でデフォルト引数を決めるのでこういうことになる。
■ このスレッドは過去ログ倉庫に格納されています