这是我要弄清楚的代码,在我调用以下构造函数或函数调用之后,功能实际上在做什么?a(o1);
a o2(o1);
o1.f(o1);
A类
public:
a() //default constructor
{
cout<<endl<<"default constructor called";
}
a(const a &o)// parameterized constructor
{
cout<<endl<<"Copy constructor called";
}
a f(a o)// function of some kind i'm not getting
{
return o;
}
//输出:默认构造函数称为
复制构造函数称为
复制构造函数称为复制构造函数称为//
我相信f接受类型为a的对象,然后将其返回,它对该对象不执行任何操作,只是浪费时间。
其他两个函数除了输出那些字符串外不执行任何操作。
o1.f(o1)仅返回o1,并且在代码中实际上不执行任何操作,因为从不使用该值。