一道面试题目的疑问?
#include <iostream.h>
class B
{
private:
int data;
public:
B()
{
cout<<"default constructor"<<endl;
}
~B()
{
cout<<"destructed"<<endl;
}
B(int i):data(i)
{
cout<<"constructed by parameter" << data <<endl;
}
};
B Play( B b)
{
return b ;
}
int main(int argc, char* argv[])
{
B temp = Play(5);
return 0;
}
问题:
1.该程序输出的结果是什么?为什么会有这样的输出?
2.B(int i):data(i)这种用法专业术语叫什么?
3.Play(5),形参类型是类,而5是个常量,这样写合法吗?为什么?