gpt4 book ai didi

c++ - Trouble with Classes and Functions 更多信息在里面

转载 作者:行者123 更新时间:2023-11-27 23:59:05 24 4
gpt4 key购买 nike

很抱歉,我什至不确定搜索问题和答案时会调用什么。

我有一个类函数

cout  << "Fraction x, y(2), z(-5,-6), w(1,-3);" << endl;
Fraction x, y(2), z(-5,-6), w(1,-3);
//Initializing the Fraction class with X at default values
//Y with 2 as Numerator and default value, Z and W with their values.
cout << "z = " << z << ", y = " << y << ", z = " << z
<< ", w = " << w << endl;

我的问题是如何让 "cout << "z= "<< z << endl; 打印出 z 的分数。我是怎么做到的这弥补了我可以做 z.output(); 并且它会完美地打印出函数但是如果我只是把 z 我会得到一个错误,因为两者都不是该程序,我也不知道如何进行这项工作。我希望这是一个非常简单的修复。我尝试分配 z = z.output() 但事实并非如此由于不同的值类型而工作。所以我将它们都更改为 Fraction 类型,但它仍然无法工作。

我必须按原样使用那个顶级程序(主程序)并且不能修改它。我只能修改自己的功能

谢谢

最佳答案

您可以这样做(这是一个全局函数;不是任何特定类中的方法):

std::ostream& operator<<(std::ostream& os, const Fraction& f)  
{
os << f.output();
return os;
}

我假设 output()有合适的返回类型。如果没有,那么您始终可以在上述函数中插入替代代码。

这是惯用的方式:请注意,您返回对传递流的引用以启用 <<链接 .

关于c++ - Trouble with Classes and Functions 更多信息在里面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40468067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com