如下程序的输出结果是 #include<iostream> #include<iomanip> using namespace std; class CSum{ int x,y; public: CSum(int

admin2011-01-19  15

问题 如下程序的输出结果是    #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。
转载请注明原文地址:https://jikaoti.com/ti/TSL0FFFM
0

最新回复(0)