侧边栏壁纸
博主头像
微尘 博主等级

行动起来,活在当下

  • 累计撰写 132 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

c++中构造函数用default

Administrator
2023-11-17 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

在C++中约定如果一个类中自定义了带参数的构造函数,那么编译器就不会再自动生成默认构造函数。

show the code,下面这段代码会报错,因为定义了一个带参的构造函数,编译器就不会再自动生成无参默认构造函数。

#include <iostream>

class Test {
public:
  int a;
  Test(int data) { a = data; }
};

int main() {
  Test t;
  return 0;
}

image-20231117234618785
 
 

如果多加个Test() = default;就可以让让编译器继续生成这个默认构造函数。(这里的Test是我做测试的类名)

#include <iostream>

class Test {
public:
  int a;
  Test() = default;
  Test(int data) { a = data; }
};

int main() {
  Test t;
  return 0;
}

image-20231117234932559

编译通过。

0

评论区