c++中构造函数用default
在C++中约定如果一个类中自定义了带参数的构造函数,那么编译器就不会再自动生成默认构造函数。
show the code,下面这段代码会报错,因为定义了一个带参的构造函数,编译器就不会再自动生成无参默认构造函数。
#include <iostream>
class Test {
public:
int a;
Test(int data) { a = data; }
};
int main() {
Test t;
return 0;
}
如果多加个
就可以让让编译器继续生成这个默认构造函数。(这里的Test是我做测试的类名)Test() = default;
#include <iostream>
class Test {
public:
int a;
Test() = default;
Test(int data) { a = data; }
};
int main() {
Test t;
return 0;
}
编译通过。
版权声明:
作者:徐锦桐
链接:https://www.xujintong.com/2023/11/17/177/
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
作者:徐锦桐
链接:https://www.xujintong.com/2023/11/17/177/
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
THE END