对于下面程序,选项正确的是( )。 #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