Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İşlev ile işaretlenmelidir
override
C++ Temel Yönergeleri
C.128: Sanal işlevler tam olarak sanal, geçersiz kılma veya son işlevlerden birini belirtmelidir
Bir sanal işlevin tabanını geçersiz kıldığını açıkça belirtmek derleyici tarafından gerekli değildir. Belirtmeme override , sanal belirtim sınıf hiyerarşisinde değişirse bakım sırasında küçük sorunlara neden olabilir. Ayrıca okunabilirliği düşürür ve arabirimin polimorfik davranışını daha az belirgin hale getirir. bir işlev açıkça olarak overrideişaretlenirse, derleyici arabirimin tutarlılığını denetleyebilir ve çalışma zamanında kendilerini bildirmeden önce sorunları tespit etmeye yardımcı olabilir.
Notlar
Bu kural yıkıcılar için geçerli değildir. Yıkıcıların kendi sanallık özellikleri vardır.
Kural, açıkça olarak olarak finalişaretlenen işlevleri işaretlemez. Bu, kendisi de özel bir sanal tanımlayıcı çeşididir.
Uyarılar, bildirimlerde değil işlev tanımlarında gösterilir. Tanımlarda sanal tanımlayıcılar olmadığından, ancak uyarı yine de doğru olduğundan bu durum kafa karıştırıcı olabilir.
Kod analizi adı: OVERRIDE_EXPLICITLY
Örnek: Örtük geçersiz kılma
class Shape {
public:
virtual void Draw() = 0;
// ...
};
class Ellipse : public Shape {
public:
void Draw() { // C26433
//...
}
};
Ayrıca bkz.
C.128: Sanal işlevler tam olarak sanal, geçersiz kılma veya son işlevlerden birini belirtmelidir