getXY()同时获取点的x和y坐标值,返回类型是含2个元素的数组,x和y坐标值依次放在数组的两个元素中
时间: 2024-05-08 11:15:58 浏览: 116
以下是一个示例代码:
```
public int[] getXY(Point point) {
int[] xy = new int[2];
xy[0] = point.x;
xy[1] = point.y;
return xy;
}
```
在上面的代码中,我们接受一个Point对象作为参数,然后创建一个包含2个元素的整型数组xy,并将Point对象的x和y坐标值分别存储在xy数组的0和1位置上,最后返回xy数组。这样,我们就可以同时获取点的x和y坐标值了。
相关问题
阅读程序回答下面问题。 1)程序中是否存在抽象类?如果有是哪一个?(3分) 2)写出程序的输出结果。(3分) #include<iostream> using namespace std; class Base { public: virtual void getxy( int i,int j = 0 ) { x = i; y = j; } virtual void fun() = 0 ; protected: int x , y; }; class A: public Base { public: void fun() { cout<<"x = "<<x<<'\t'<<"y = x * x = "<<x*x<<endl; } }; class B:public Base { public: void fun() { cout<< "x = " << x << ‘\t' << "y = " << y << endl; cout << "y = x / y = " << x / y << endl; } } ; int main() { Base * pb; A obj1; B obj2; pb = &obj1; pb -> getxy( 20 ); pb -> fun(); pb = &obj2; pb -> getxy( 200, 50 ); pb -> fun(); return 0; }
1)程序中存在抽象类,这个类是Base类,其中纯虚函数fun()使得Base类成为了抽象类。
2)程序的输出结果如下:
```
x = 20 y = x * x = 400
x = 200 y = 50
y = x / y = 4
```
首先,我们定义了一个Base类作为抽象类,其中有一个纯虚函数fun()。然后,我们定义了两个派生类A和B,它们都继承了Base类,并且实现了fun()函数。在主函数中,我们先创建了一个A类对象obj1,并调用Base类的getxy()函数对x和y进行初始化,然后调用Base类的fun()函数,但是此时会调用A类的fun()函数,输出x和y的值及y的计算结果。接着,我们又创建了一个B类对象obj2,并对x和y进行初始化,然后调用Base类的fun()函数,但是此时会调用B类的fun()函数,输出x和y的值以及y的计算结果。
void getxy(HANDLE hout,int*i,int*j)//移动光标到指定位置 { int ch; int m,n;//棋子移动时的坐标 do { ch=0; if (kbhit())//kbhit() 是一个C和C++函数,用于非阻塞地响应键盘输入事件,为 “keyboard hit(键盘敲击)”的简写。 //检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。 { ch=getch();//getch() 接受任意键的输入,不用按回车就返回,返回值是输入值的ascll码 } switch(ch) { case 72: *i-=1; break;//上 case 80: *i+=1; break;//下 case 75: *j-=1; break;//左 case 77: *j+=1; break;//右 } if (*i<0) *i=11+*i; if (*i>10) *i=11-*i; if (*j<0) *j=11+*j; if (*j>10) *j=11-*j; m=*j;n=*i; gotoxy(hout,m*2,n); }while (ch!=13); }
这是一个移动光标到指定位置的函数,使用了键盘输入事件来控制光标的移动,其中:
- HANDLE hout:控制台窗口的句柄。
- int* i, int* j:表示光标当前的位置,通过指针传递,函数内部改变位置的值可以被外部函数获取。
- kbhit():C和C++函数,用于非阻塞地响应键盘输入事件,为 “keyboard hit(键盘敲击)”的简写。检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。
- getch():接受任意键的输入,不用按回车就返回,返回值是输入值的ascll码。
- switch(ch):根据不同的键盘输入事件进行不同的操作,如上下左右移动。
- gotoxy(hout, m*2, n):将光标移动到指定位置,其中m、n为光标的行列坐标,m*2是因为控制台窗口中每个字符占两个位置。直到输入回车键(ch==13)时停止循环。
这段代码可能是用于控制台下的一个棋盘游戏中,用于控制棋子的移动。
阅读全文