如果我有如下课程。
class A {
int data;
};
A a; // Case1: calling explicit Default constructor
A b(); // Case2: Calling implicit default constructor
Case1和Case2有什么区别?
如果我有如下课程。
class A {
int data;
};
A a; // Case1: calling explicit Default constructor
A b(); // Case2: Calling implicit default constructor
Case1和Case2有什么区别?
A b();
它没有定义一个对象,它声明了一个返回类型的函数A
,它也被称为最令人头疼的解析。
A b(); // Case2: Calling implicit default constructor
评论不正确。A b();
是一个函数声明(该函数被调用b
并返回一个类型的对象,A
您打算稍后定义该函数)而不是一个对象定义。
情况1:
A a; // Case1: calling explicit Default constructor
调用隐式默认构造函数,因为您没有在类中提供一个。
案例二:
A b(); // Case2: Calling implicit default constructor
它是函数声明,说“b”是函数名,它不带参数并返回 A 对象。
希望能帮助到你。