首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在c++中将参数化构造函数初始化为默认构造函数?

如何在c++中将参数化构造函数初始化为默认构造函数?
EN

Stack Overflow用户
提问于 2015-10-07 19:07:18
回答 3查看 290关注 0票数 1

如何在c++中将参数化构造函数初始化为默认构造函数?这个问题是在我的考试中提出来的。我们得到了一个参数化的构造函数&它也可以作为默认的构造函数工作。

EN

回答 3

Stack Overflow用户

发布于 2015-10-07 19:10:25

根据标准(12.1/4),默认构造函数为:

类X的默认构造函数是可以在没有参数的情况下调用的类X的构造函数

因此,您只需为参数指定默认值:

代码语言:javascript
运行
复制
class Foo
{
public:
    Foo(int a = 6)
    {

    }
};

int main()
{
    Foo obj;
}
票数 5
EN

Stack Overflow用户

发布于 2015-10-07 19:08:59

代码语言:javascript
运行
复制
class A
{
    A(int a = 0)
    {
        std::cout << a;
    }
};

只需使用默认值预定义参数即可。

票数 1
EN

Stack Overflow用户

发布于 2015-10-07 19:25:11

当构造函数可以在没有参数的情况下被调用时,它被称为默认构造函数。

但是,当参数被赋予默认值时,接受参数的构造函数可以转换为默认构造函数。

例如:

代码语言:javascript
运行
复制
class String {
public:
    String(const char∗ p = ""); // default constructor : empty string
    // ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32990616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档