c++ - 构造函数可以在c++中调用另一个构造函数吗?

标签 c++ constructor

class A{
  A(int a = 5){
    DoSomething();
    A();
  }
  A(){...}
}

第一个构造函数可以调用第二个吗?

最佳答案

不是 before C++11 .

改为将通用功能提取到单独的函数中。我通常将此函数命名为 construct()

“所谓的”第二个调用会编译,但在 C++ 中具有不同的含义:它会构造一个新对象,一个临时对象,然后在语句结束时立即将其删除。所以,没有。

但是,可以毫无问题地调用析构函数。

关于c++ - 构造函数可以在c++中调用另一个构造函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1896341/

相关文章:

c++ - 我对值初始化的尝试被解释为函数声明,为什么不 A a(());解决这个问题?

c++ - 插入元素后 Unordered_map 变空,我做错了什么?

c++ - VS2013模板类奇怪的行为

c++ - 在仿函数的 c'tor 中搜索值

java - 在构造函数 java 中更改数据

c++ - 来自另一个 bool 函数的一个字符

c++ - Visual C++ math.h 错误

c++ - 创建对象数组 C++

java - Java 中初始化器与构造器的使用

c++ - 为什么带有 const 关键字的构造函数可以工作,而没有它就不行?