根据注释将程序补充完成。 请填空。 #include <iostream> #include <iomanip> using namespace std; class ArrayFloat { protected: float * pA; int size; //数组大小(元素个数) public: ArrayFloat(int sz = 10) { size = sz; pA = new float[size]; }~ArrayFloat(void) { delete[] pA; //释放动态内存 } int GetSize(void) const { return size; } float & operator[](int i) //重载数组元素操作符"[]" { return pA[i]; } void Print(); }; void ArrayFloat::Print() { int i; for (i = 0; i < ___; i++) { if (i % 10 == 0) cout << endl; cout << setw(6) << pA[i]; } } int main() { ArrayFloat a(20); for (int i = 0; i < a.GetSize(); i++) a[i] = (float) i * 2; a.Print(); }
时间: 2024-03-10 11:49:43 浏览: 55
vc++2008编译不了#include<iostream.h>头文件
4星 · 用户满意度95%
在代码中,需要填入输出流运算符的定义。
输出流运算符的定义如下:
```c++
friend ostream& operator<<(ostream& s, const ArrayFloat& a) {
int i;
for (i = 0; i < a.size; i++) {
if (i % 10 == 0)
s << endl;
s << setw(6) << a.pA[i];
}
return s;
}
```
输出流运算符需要在类中声明为友元函数,以访问类的私有成员变量,并且需要返回输出流对象。在输出流运算符中,使用 `<<` 重载符来输出数组元素,使用 `setw()` 函数来控制输出格式,每行输出 10 个元素。输入流运算符不需要在本题中实现。
阅读全文