
如果没有明确的禁止,C++默认是开启了隐式构造:
#include
using namespace std;
class A{
public:
A(int a = 0)
{
cout<<"Construct A, this addr:"<
通过将构造函数声明explicit,可以禁止隐式构造:
#include
using namespace std;
class A{
public:
explicit A(int a = 0)
{
cout<<"Construct A, this addr:"<
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)