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

  • apenney888

    apenney888

    27 EKİM 2010
  • gsmaestro

    gsmaestro

    17 AĞUSTOS 2006
  • Watcher3223

    Watcher3223

    15 Kasım 2007