c++ 类 链式调用
发布网友
发布时间:2022-05-29 20:02
我来回答
共2个回答
热心网友
时间:2023-11-18 06:15
#include <cstdio>
using std::printf;
class Number
{
public:
Number(int n) : value(n) {}
Number &add(int val)
{
value += val;
return *this;
}
Number &sub(int val)
{
return add(-val);
}
void print() const
{
printf("%d\n", value);
}
private:
int value;
};
int main()
{
Number n(1);
n.add(2).sub(3).add(4);
n.print();
return 0;
}
正解是返回引用,这样
n.add(2)返回n本身,然后返回值又可以.sub
热心网友
时间:2023-11-18 06:16
class Number
{
public:
explicit Number(int n)
: m_value(n)
{}
Number add(int val) const
{
return static_cast<Number>(val + m_value);
}
Number sub(int val) const
{
return static_cast<Number>(m_value - val);
};
void print() const
{
printf("%d\n", m_value);
}
private:
int m_value;
};
Understand?
追问这样写答案是1.不对,我也是用了Number做返回,但是还是不对..
另外有点不太明白尖括号那两句,可以解释一下吗谢谢!