问题 单项选择题

对于下面程序,选项正确的是( )。 #include<iostream> using namespace std; class point{ public: void setpoint(unsigned, unsigned); void getpoint(void); private: unsigned x; unsigned y; }; void point::setpoint(unsigned x, unsigned y) { point::x=x; point::y=y; } void point::getpoint(void) { cout<<"x:"<<x<<" "<<"y:"<<y<<endl;} void main(void) { point p1,*p2;p2=π p1.setpoint(20,10); p1.getpoint(); p2->setpoint(1,2); p2->getpoint(); }

A.该程序编译正确,能输出正确结果

B.该程序中 setpoint() 形式参数不应为x、y,这样与程序体中的x、y其实是一个变量了

C.该程序中的 setpoint() 程序体中的“point::x、point::y”应该改为x、y

D.错误在于主函数中的“p2=&p1;”上,应该改为p2=p1;

答案

参考答案:A

解析: 该程序是正确的,能得到正确结果,结果输出为x:20 y:10 x:1 y:2

问答题
单项选择题