用类与对象编写一个数组左移的程序
时间: 2024-05-14 22:11:51 浏览: 26
好的,这是一个关于编程的问题。以下是使用 C++ 编写的一个数组左移的例子代码:
```
#include <iostream>
using namespace std;
class Array {
public:
int size;
int* data;
Array(int arr[], int n) {
size = n;
data = new int[size];
for (int i = 0; i < size; i++) {
data[i] = arr[i];
}
}
~Array() {
delete[] data;
}
// 左移一位
void shift_left() {
int tmp = data[0];
for (int i = 1; i < size; i++) {
data[i - 1] = data[i];
}
data[size - 1] = tmp;
}
void show() {
for (int i = 0; i < size; i++) {
cout << data[i] << " ";
}
cout << endl;
}
};
int main() {
int arr[] = { 1, 2, 3, 4, 5 };
Array a(arr, 5);
cout << "Original Array: ";
a.show();
a.shift_left();
cout << "After left shift: ";
a.show();
return 0;
}
```
在这个例子中,我们定义了一个数组类 `Array`,其中包含了数组 `size` 和 `data` 成员变量,`shift_left` 成员方法用于实现数组左移一位,`show` 方法用于显示数组元素。在 `main` 函数中,我们创建了一个含有五个元素的数组 `arr`,并将其传入 `Array` 类的构造函数创建了数组对象 `a`,然后调用 `a` 对象的 `show` 方法显示原始数组,接着调用 `shift_left` 左移一位,再次调用 `show` 方法显示移位后的数组。