有人可以讲解一下这道题 Mulsample m(s1,s2); sample s=m.addsample(); s.display();部分吗?
解决时间 2021-02-05 06:39
- 提问者网友:不爱我么
- 2021-02-04 08:39
#include
using namespace std;
class sample
{
public:
int n;
public:
sample(){}
sample(int n)
{
this->n=n;
}
sample(sample &m)
{
this->n=m.n;
}
void display()
{
cout< }
};
class Mulsample
{
private:
sample s1,s2;
public:
Mulsample(sample m,sample n):s1(m),s2(n)
{
}
sample addsample()
{
sample s;
s.n=s1.n+s2.n;
return s;
}
};
void main()
{
sample s1(2);
s1.display();
sample s2(3);
s2.display();
Mulsample m(s1,s2);
sample s=m.addsample();
s.display();
}
最佳答案
- 五星知识达人网友:妄饮晩冬酒
- 2021-02-04 09:07
Mulsample m(s1,s2);
定义一个Mulsample 对象, 这个对象有s1,s2两个对象构造,这个是源于Mulsample类的拷贝构造函数Mulsample(sample m,sample n):s1(m),s2(n)
传入的就是sample的两个对象,因此这句仅是用s1,s2构造一个对象而已
sample s=m.addsample();
这句是m调用完成员函数后,赋值给s的,这里也是调用拷贝构造函数,在类没有重载=操作符时,=将会调用构造函数进行赋值,跟前面一个问题类似
s.display();
就是调用对象的成员函数,仅此而已
全部回答
- 1楼网友:零点过十分
- 2021-02-04 09:26
或许可以。
我要举报
大家都在看
推荐资讯