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

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • hans peder sahl

    hans peder s

    22 Temmuz 2009
  • TROPFEST

    TROPFEST

    27 Mart 2007