(1)已知如下一个类: class A{ int a1,a2; A(int i,int j){ a1=i; a2=j; 要求编一个方法swap()用来交换A类的两个成员变量的值。
时间: 2024-05-08 07:15:17 浏览: 29
可以在A类中添加一个swap()方法来实现成员变量的交换:
```
class A{
int a1, a2;
A(int i, int j){
a1 = i;
a2 = j;
}
void swap(){
int temp = a1;
a1 = a2;
a2 = temp;
}
}
```
在swap()方法中,我们创建一个temp变量来存储a1的值,然后将a2的值赋给a1,最后将temp值赋给a2,完成交换。
相关问题
已知如下一个类:classA{int a1,a2;A(int i,int j){a1=i;a2=j;}}要求编写一个方法swap()用来交换A类的两个成员变量的值
可以在 `classA` 中添加一个 `swap` 方法来实现交换成员变量的值,具体代码如下:
```c++
class classA {
public:
int a1, a2;
classA(int i, int j) {
a1 = i;
a2 = j;
}
void swap() {
int tmp = a1;
a1 = a2;
a2 = tmp;
}
};
```
这样,当需要交换 `classA` 的两个成员变量时,只需要调用 `swap` 方法即可。例如:
```c++
classA obj(1, 2);
cout << obj.a1 << " " << obj.a2 << endl; // 输出 1 2
obj.swap();
cout << obj.a1 << " " << obj.a2 << endl; // 输出 2 1
```
11.已知类Foo的定义如下 public class Foo {int value; Foo(int value){ this.value = value; } 运行下面程序段: Foo a1 ={new Foo(1),new Foo(2),new Foo(3)}; Foo a2 = newFoo[a1.length]; System.arraycopy(a1, 0, a2, 0,a1.length); System.out.println((a1 == a2) +”,”(a1[1] == a2[1])); 控制台输出的结果是
控制台输出的结果是:
false,false
根据给定的代码段,我们创建了一个名为`Foo`的类,并定义了一个构造函数。然后,在程序段中创建了一个`a1`数组,其中包含了三个`Foo`对象。接着,创建了一个`a2`数组,大小与`a1`相同。
接下来,使用`System.arraycopy()`方法将`a1`数组中的元素复制到`a2`数组中。这里要注意的是,这是浅拷贝,即复制的是对象的引用而不是对象本身。
最后,使用`System.out.println()`方法打印输出`(a1 == a2)`和`(a1[1] == a2[1])`的结果。在输出中,使用逗号分隔两个结果。
由于`a1`和`a2`是两个不同的数组对象,所以`(a1 == a2)`的结果为`false`。
同时,由于浅拷贝只复制了对象的引用,所以`(a1[1] == a2[1])`的结果也为`false`。
因此,控制台输出的结果是`false,false`。
阅读全文