Başka bir sınıf / struct yöntemini kapsamlı bir şekilde kullanmanın uygun olduğu durumlarda olası bir durum vardır - sınıfınız / yapı sisteminiz veri için bir konteyner olduğunda. Genelde bu verilerle dış bağlam olmadan yapabileceğiniz çok az şey vardır.
Bu sınıflar hala bazı iç mantıkları tutabilirler, ancak daha sıklıkla kapsayıcı olarak kullanılırlar:
class YourUid {
public:
YourUid(int id_in_workplace_, int id_in_living_place_, DB* FBI_database, int id_in_FBI_database);
bool IsInvalidWorker() const { return id_in_workplace == consts::invalid_id_in_workplace; }
bool CanMessWith() const { return !FBI_database_.is_cool(id_in_FBI_database_); }
int id_in_workplace;
int id_in_living_place;
private:
int id_in_FBI_database_;
const DB* FBI_database_;
};
Cevabındaki @jhewlett, diğer sınıf üyelerini yoğun bir şekilde kullanmamanız gerektiğini kanıtlamak için bu makaleye atıfta bulunuyor, ancak burada başka bir kod var.
Uzun Parametre Listesi Belirli bir yöntemde ihtiyacınız olan parametre sayısını sınırlayın veya parametreleri birleştirmek için bir nesne kullanın.