#include <iostream> using namespace std; struct Foo { Foo() {} Foo(int) {} void fun() {} }; int main(void) { Foo a(10); a.fun(); Foo b(); b.fun(); return 0; }
语句1
语句2
语句3
语句4
Foo b;
Foo b=Foo();
构造函数的调用分三种: 括号法:Foo a(10); 显示法:Foo a = new Foo(10); 隐式法:Foo a = 10;//会自己调用系统提供的默认拷贝构造函数对于语句③ Foo b();会被编译器当做是函数声明,不会报错,当执行到语句④ b.fun()就会报错,因为一个函数声明怎么可以调用一个成员函数呢?
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题