相关疑难解决方法(0)

使用C++构造函数的默认参数

拥有使用默认参数的类构造函数是一种好习惯,还是应该使用单独的重载构造函数?例如:

// 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)
    {
        ...
    }
};
Run Code Online (Sandbox Code Playgroud)

这两个版本似乎都有用,例如:

foo f1;
foo f2("Name", 30);
Run Code Online (Sandbox Code Playgroud)

您更喜欢或推荐哪种风格?为什么?

c++ constructor coding-style overloading

111
推荐指数
6
解决办法
21万
查看次数

标签 统计

c++ ×1

coding-style ×1

constructor ×1

overloading ×1