单项选择题

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