A-A+

如下程序的输出结果是 #include<iostream> #include<iomanip

2022-08-05 21:21:41 问答库 阅读 172 次

问题详情

如下程序的输出结果是 #include<iostream> #include<iomanip> using namespace std; class CSum{ int x,y; public: CSum(int x0,int y0):X(x0),y(y0){ } friend ostream& operator<<(ostream& os,const CSum& xA) { os<<setw(5)<<xa.x+xa.y: return os; } }; int main(){ CSum y(3,5); cout<<setfill("*")<<8; cout<<y; return 0; }
A.88
B.****88
C.****8****8
D.8****8请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:输出流控制中,如果没有指定对齐方式,则默认为左对齐、右填充,CSum类使“<<”运算符出栈,并将输出控制为宽度为5,cout<<setfill('*')<<8;执行时就打印8****,然后执行cout<<y;打印8,故答案为D。

考点:程序