class Simple 
...{
Simple(void)
...{
cout << "hello"<<endl;
}
~Simple(void)...{}
};
int main()
...{
Simple s();
Simple v;
}那么hello在哪里打印的呢?hello是在Simple v;这句打印的。也就说v是Simple类的栈对象。那s是什么?
因为编译器优先匹配函数声明,所以Simple s();就是声明了一个返回Simple对象的名为s的无参函数。
如果你下面定义一个函数
Simple s()
...{
Simple * p = new Simple();
return *p;
}
本文探讨了C++中Simple类的构造函数如何工作,解释了'hello'字符串的打印位置,并分析了Simple s()作为函数声明的情况。通过一个示例函数进一步验证了这一结论。
741

被折叠的 条评论
为什么被折叠?



