c++中的运算符重载operator<<(ostream &os,FUN f)问题,其中FUN是一个类。
请问要怎么样,程序输出的结果才是:*****1234554321*****?程序如下:#include<iostream>#include<iomanip>usingna...
请问要怎么样,程序输出的结果才是:*****12345 54321***** ?
程序如下:
#include <iostream>
#include <iomanip>
using namespace std;
class FUN {
friend ostream operator<<(ostream&,FUN);
}fun;
ostream operator<<(ostream& os,FUN f) {
os.setf(ios_base::left);
return os;
}
void main() {
cout<<setfill('*')<<setw(10)<<12345<<" ";
cout<<fun<<setw(10)<<54321<<endl; // error C2593: 'operator <<' is ambiguous
}
请高手帮我改一下。 展开
程序如下:
#include <iostream>
#include <iomanip>
using namespace std;
class FUN {
friend ostream operator<<(ostream&,FUN);
}fun;
ostream operator<<(ostream& os,FUN f) {
os.setf(ios_base::left);
return os;
}
void main() {
cout<<setfill('*')<<setw(10)<<12345<<" ";
cout<<fun<<setw(10)<<54321<<endl; // error C2593: 'operator <<' is ambiguous
}
请高手帮我改一下。 展开
展开全部
#include <iostream>
#include <iomanip>
using namespace std;
class FUN {
friend ostream& operator<<(ostream&,FUN&);
}fun;
ostream& operator<<(ostream& os,FUN& f) {
os.setf(ios_base::left);
return os;
}
void main() {
cout<<setfill('*')<<setw(10)<<12345<<" ";
cout<<fun<<setw(10)<<54321<<endl; // error C2593: 'operator <<' is ambiguous
}
//operator<<中的FUN最好是FUN&。返回值必须是ostream&,而不是ostream
#include <iomanip>
using namespace std;
class FUN {
friend ostream& operator<<(ostream&,FUN&);
}fun;
ostream& operator<<(ostream& os,FUN& f) {
os.setf(ios_base::left);
return os;
}
void main() {
cout<<setfill('*')<<setw(10)<<12345<<" ";
cout<<fun<<setw(10)<<54321<<endl; // error C2593: 'operator <<' is ambiguous
}
//operator<<中的FUN最好是FUN&。返回值必须是ostream&,而不是ostream
展开全部
传值传址的问题,用引用吧!
#include <iostream>
#include <iomanip>
using namespace std;
class FUN
{
friend ostream& operator << (ostream&,FUN&);
}fun;
ostream& operator<<(ostream& os,FUN& f)
{
os.setf(ios_base::left);
return os;
}
void main()
{
cout<<setfill('*')<<setw(10)<<12345<<" ";
cout<<fun<<setw(10)<<54321<<endl;
}
#include <iostream>
#include <iomanip>
using namespace std;
class FUN
{
friend ostream& operator << (ostream&,FUN&);
}fun;
ostream& operator<<(ostream& os,FUN& f)
{
os.setf(ios_base::left);
return os;
}
void main()
{
cout<<setfill('*')<<setw(10)<<12345<<" ";
cout<<fun<<setw(10)<<54321<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我这里没报错。爱莫能助= = =
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询