Özel değişkenler, karmaşıklığı ve uygulama ayrıntılarını bir sınıf kullanıcısına gizlemenin bir yoludur. Bu oldukça hoş bir özellik. Fakat neden c ++ 'ta onları bir sınıf başlığına koymamız gerektiğini anlamıyorum. Bunun için iki sinir bozucu dezavantaj görüyorum:
- Başlığı kullanıcıdan alır.
- İçindekiler değiştirildiğinde, tüm istemci kitaplıklarının yeniden derlenmesini zorlar.
Bu gereksinimin arkasında kavramsal bir sebep var mı? Sadece derleyiciden çalışmayı kolaylaştırmak için mi?
struct foo{};
) izin verilmiyor, ancak ileriye dönük bildirimler ( struct foo;
) kullanılıyor.