定义一个对象没有使用初始化表达式,就像下面的一样
Foo f1; Foo f2 = Foo(); Foo f2(); // 这个是错的,它声明了一个函数
就会调用默认构造函数(不带参数或者形参含有默认值),如果类没有定义构造函数,那么编译器会自动合成一个默认的构造函数。
如果类中定义了其他类型的构造函数,那么这个类是没有默认构造函数。
定义一个对象没有使用初始化表达式,就像下面的一样
Foo f1; Foo f2 = Foo(); Foo f2(); // 这个是错的,它声明了一个函数
就会调用默认构造函数(不带参数或者形参含有默认值),如果类没有定义构造函数,那么编译器会自动合成一个默认的构造函数。
如果类中定义了其他类型的构造函数,那么这个类是没有默认构造函数。