Aşağıdaki kodu düşünün sanal işlevi geçersiz kılmak için: derlenmiş zamanİstisna şartname
class A
{
public:
virtual void f() throw (int) { }
};
class B: public A
{
public:
void f() throw (int, double) { }
};
, bu türetilmiş B sınıfı bu önemi nedir A'ya kıyasla daha gevşek bir atış belirtici olduğunu söylüyor? Eğer istisna özelliklerini değiştirmeye çalışırsak, A :: f() B: f() sadece int atarken int ve double atar, hata görünmez.
İçtenlikle, istisna olarak kullanılmak üzere tasarlanmamış sınıfların örneklerini atmadığınızı umuyoruz ve bu sadece sorunuzun hızlı ve kirli bir örneğidir :) –
Matthieu: Ah, evet tabiki. Anlıyorum. – jasonline