我正在阅读教科书,然后我遇到上面的函数"Sales_data :: combine()".
如果我做
Total.combine(trans);
Run Code Online (Sandbox Code Playgroud)
其中Total和trans是Sales_data,在此函数调用之后,对象Total会被更改吗?什么是返回*这个点?
在这个函数调用之后,对象
Total会被更改吗?
如果trans.units_sold和/或trans.revenue不为零,它将被更改,因为相同的字段Total受到+=函数实现中的语句的影响.
什么是返回*这个点?
它允许您链接对成员函数的进一步调用,因此您可以执行以下操作:
Total.combine(trans1).combine(trans2);
Run Code Online (Sandbox Code Playgroud)
这将来自合并值trans1和trans2成Total.
如果Sales_data有其他功能,您也可以使用返回值combine来访问它们.例如,如果有一个operator<<(std::ostream&, const Sales_data&)流式传输Sales_data对象的功能,你可以写...
std::cout << Total.combine(trans1) << '\n';
Run Code Online (Sandbox Code Playgroud)
...这会从合并这些值trans1到Total从打印更新值之前Total.
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |