C++ Array 类重载输出运算符 << 解释
这个函数是一个重载运算符 '<', 用于将 Array 对象输出到 ostream 流中。它接受两个参数:一个输出流 os 和一个 Array 对象 a。函数的实现使用一个 for 循环遍历数组 a 中的所有元素,并将每个元素输出到 os 中,每个元素之间用逗号隔开。最后,函数将一个换行符写入流中并返回该流。这个函数使用了模板 '
例如,以下代码演示了如何使用这个函数输出一个包含整数的 Array 对象:
#include <iostream>
template <class U>
class Array {
public:
// ...
U& operator[](int index) { return data[index]; }
int getsize() const { return size; }
private:
U *data;
int size;
};
template <class U>
std::ostream& operator<<(std::ostream& os, Array<U>& a) {
for(int i=0; i<a.getsize(); i++) {
os << a[i];
if(i != a.getsize()-1) {
os << ',';
}
}
os << std::endl;
return os;
}
int main() {
Array<int> arr(5);
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
std::cout << arr << std::endl; // 输出:1,2,3,4,5
return 0;
}
这个函数使得我们可以像使用基本数据类型一样方便地输出 Array 对象,提高了代码的可读性和易用性。
原文地址: https://www.cveoy.top/t/topic/oBja 著作权归作者所有。请勿转载和采集!