编写一个面向对象的程序。求一个整型数组中元素的最大值。体会和面向过程程序设计的异同。
时间: 2024-02-25 11:52:02 浏览: 22
下面是一个面向对象的程序,用于求一个整型数组中元素的最大值。这个程序使用了一个MaxFinder类,其中包含了一个成员函数FindMax,用于寻找最大值。这个类的实例需要通过构造函数传入一个整型数组,然后就可以调用FindMax函数来获取最大值。
```cpp
#include <iostream>
class MaxFinder {
public:
MaxFinder(int* array, int length) {
m_array = array;
m_length = length;
}
int FindMax() {
int max = m_array[0];
for (int i = 1; i < m_length; i++) {
if (m_array[i] > max) {
max = m_array[i];
}
}
return max;
}
private:
int* m_array;
int m_length;
};
int main() {
int array[] = {1, 2, 3, 4, 5};
MaxFinder maxFinder(array, 5);
int max = maxFinder.FindMax();
std::cout << "The max value is: " << max << std::endl;
return 0;
}
```
与面向过程程序设计相比,面向对象程序设计更加抽象和灵活。在这个例子中,MaxFinder类的实例可以通过构造函数传入任意长度的整型数组,而不需要修改FindMax函数的实现。此外,MaxFinder类的实现细节被封装在类的内部,对外只暴露了必要的接口,使得程序更加安全和易于维护。