Override
Override kelimesi ile derleyici, kalıtan sınıfın gerçekten bir virtual metodu override ettiğini kontrol eder. Yani metod imzalarının birebir tuttuğunu kontrol eder.
Örnekte daha sonradan eklenen default parametre aslında imzayı bozmaktadır. Eğer override kullanılmazsa sadece warning alırız. Eğer override kelimesini kullanırsak derleyici hatayı yakalar.
Override kelimesi ile derleyici, kalıtan sınıfın gerçekten bir virtual metodu override ettiğini kontrol eder. Yani metod imzalarının birebir tuttuğunu kontrol eder.
Örnekte daha sonradan eklenen default parametre aslında imzayı bozmaktadır. Eğer override kullanılmazsa sadece warning alırız. Eğer override kelimesini kullanırsak derleyici hatayı yakalar.
class A{
public:
virtual void foo(){...}
};
class B: public A{
public:
virtual void foo(int n){...}
};
class C: public B{
public:
virtual void foo(int n = 1){...}
};
Hiç yorum yok:
Yorum Gönder