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

  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • Living Waters

    Living Water

    9 AĞUSTOS 2006
  • MugenPowerBatteries

    MugenPowerBa

    8 EKİM 2010