SORU
9 EKİM 2008, PERŞEMBE


C kurucular ile Varsayılan parametreleri

İyi uygulama Varsayılan parametreleri kullanan bir sınıf var mı, yoksa ayrı yüklenmiş kurucular kullanmalıyım? Örneğin:

// Use this...
class foo  
{
private:
    std::string name_;
    unsigned int age_;
public:
    foo(const std::string& name = "", const unsigned int age = 0) :
        name_(name),
        age_(age)
    {
        ...
    }
};

// Or this?
class foo  
{
private:
    std::string name_;
    unsigned int age_;
public:
    foo() :
    name_(""),
    age_(0)
{
}

foo(const std::string& name, const unsigned int age) :
        name_(name),
        age_(age)
    {
        ...
    }
};

Her iki sürüm çalışmak için, örneğin gibi:

foo f1;
foo f2("Name", 30);

Hangi stili tercih edersiniz ve neden tavsiye edersiniz?

CEVAP
9 EKİM 2008, PERŞEMBE


Tarz meselesi kesinlikle. Varsayılan parametreler, parametreler mantıklı olduğu sürece kurucular tercih ederim. Standart sınıflar kendi lehine konuşuyor bir de onları kullanın.

Dikkat edilmesi gereken bir şey varsa ve biri hariç tüm parametre için varsayılan varsa, sınıf örtülü olarak bu parametre türüne dönüştürülebilir. Daha fazla bilgi için this thread Check out.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • michal lelkowski

    michal lelko

    9 Temmuz 2006
  • Techmoan

    Techmoan

    31 Mayıs 2009
  • UKF

    UKF

    2 Aralık 2009