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

  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009
  • Michelle Phan

    Michelle Pha

    18 Temmuz 2006
  • snookie77

    snookie77

    2 Mart 2006