问题 单项选择题

若有以下程序: #include 〈iostream〉 using namespace std; class sample { private:int i; public:void setvalue(int m){ i=m;}void fun(int m){ i+=m;}void disp(){ cout〈〈i〈〈end1;} }; int main() {sample *ps;ps=new sample;ps->setvalue(20);ps->fun(5);ps->disp();return 0; } 程序运行后,输出的结果是( )。

A.15

B.20

C.25

D.30

答案

参考答案:C

解析: 本题考核对象指针的应用。程序首先定义了一个类sample,其中包含一个私有成员i和3个公有成员函数。函数setvalue()的功能是给私有成员i赋值,函数fun()的功能是将私有成员i的值增加m,函数disp的功能是输出变量i的值。在主函数中,先定义了类sample的一个耐象指针ps,并申请了一块内存空间。执行 语句ps->setvalue(20);后,类中i的值为20,执行语句“ps->fun(5);”后,类中i的值为25。所以程序最后输出25。

报关编码
多选题