有一个HArray类,包含一个整型数组:int a[3],请将程序补充完整,实现“[]”的重载。 若 h 是HArray类对象,h[i]的作用是获取 a[i]的平方值(i>=0 并且 i<3)。 例(第一行为输入,第二行为输出): 2 3 4 20 请注意,main()函数或给定部分必须按如下所示编写: int main() { int a,b,c; cin>>a>>b>>c; HArray h1(a,b,c); int d=h1[0]+h1[2]; cout<<d<<endl; return 0; }
时间: 2024-03-24 22:38:53 浏览: 17
下面是实现 HArray 类的代码:
```c++
#include <iostream>
using namespace std;
class HArray {
private:
int a[3];
public:
HArray(int x, int y, int z) {
a[0] = x; a[1] = y; a[2] = z;
}
int operator[](int i) const {
return a[i] * a[i];
}
};
int main() {
int a, b, c;
cin >> a >> b >> c;
HArray h1(a, b, c);
int d = h1[0] + h1[2];
cout << d << endl;
return 0;
}
```
重载 `[]` 运算符时,我们将其定义为一个常量成员函数,因为它不会改变对象本身。在函数体内,我们直接返回 `a[i] * a[i]` 即可。在 `main` 函数中,我们首先读入三个整数,然后创建 HArray 类的对象 `h1`,并通过 `h1[0]` 和 `h1[2]` 计算出变量 `d` 的值,最后输出 `d`。
相关问题
编写一个函数实现将整型数组 a 中的6个整数逆置
好的,以下是将整型数组 a 中的6个整数逆置的 C++ 函数代码:
```c++
void reverse(int a[], int n) {
for (int i = 0; i < n / 2; i++) {
int tmp = a[i];
a[i] = a[n - i - 1];
a[n - i - 1] = tmp;
}
}
```
其中,a 是整型数组,n 是数组元素个数(这里是6)。
你可以将需要逆置的整型数组传入该函数,调用方式如下:
```c++
int arr[6] = {1, 2, 3, 4, 5, 6};
reverse(arr, 6);
```
执行该代码后,数组 arr 中的元素就会被逆序排列,即 arr = {6, 5, 4, 3, 2, 1}。
编写一个函数实现将整型数组a中的6个整数逆置
好的,我理解了你的要求。下面是一个实现将整型数组a中的6个整数逆置的函数:
```
void reverse(int a[], int size) {
int temp, i;
for (i = 0; i < size/2; i++) {
temp = a[i];
a[i] = a[size-i-1];
a[size-i-1] = temp;
}
}
```
在这个函数中,我们使用了一个循环来遍历数组的前半部分,将前半部分的元素与后半部分的元素进行互换,从而实现数组逆置的效果。注意,我们需要将数组大小除以2,因为我们只需要遍历数组的前半部分即可。
如果你有需要,则可以将这个函数嵌入到你的代码中,调用该函数即可对数组进行逆置操作。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)