提问人:Aniket Saha 提问时间:11/24/2019 最后编辑:CommunityAniket Saha 更新时间:11/25/2019 访问量:54
函数 f 在做什么?
Whats function f is doing?
问:
下面是我试图弄清楚的代码。在我调用以下构造函数或函数之后,函数实际上在做什么?
我的问题是为什么我会得到这种输出,更具体地说,为什么“复制构造函数调用”被打印了 2 次。请解释这段代码的背景。
class 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;
}
}
调用的构造函数和函数:
a (o1);
a o2(o1);
o1.f(o2); // correction : o2 as parameter in place of o1
输出:
称为默认构造函数
名为 Copy 构造函数
名为 Copy 构造函数
名为 Copy 构造函数
答:
0赞
Ender_The_Xenocide
11/24/2019
#1
我相信 f 接受一个 a 类型的对象然后返回它,它对对象没有任何作用,只是浪费时间。
其他两个函数除了输出这些字符串外不执行任何操作。
o1.f(o1) 只返回 o1,实际上不会在代码中执行任何操作,因为该值从未使用过。
评论
0赞
Aniket Saha
11/25/2019
朋友,我认为您错过了复制构造函数。
评论
f
o1
o
o1
o1.f()
return o
o