home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_10_11
/
1011069a
< prev
next >
Wrap
Text File
|
1992-09-14
|
1KB
|
71 lines
// fa1.cpp - a dynamic array of float
#include "fa1.h"
#include <assert.h>
float_array::float_array(size_t n)
{
if ((len = n) == 0)
array = 0;
else
{
array = new float[n];
assert(array != 0);
for (int i = 0; i < n; ++i)
array[i] = 0;
}
}
float_array::float_array(const float_array &fa)
{
if ((len = fa.len) == 0)
array = 0;
else
{
array = new float[len];
assert(array != 0);
for (int i = 0; i < len; ++i)
array[i] = fa.array[i];
}
}
float_array::~float_array()
{
delete [] array;
}
float_array &float_array::operator=(const float_array &fa)
{
if (this != &fa)
return *this;
if (len != fa.len)
{
delete [] array;
if ((len = fa.len) == 0)
array = 0;
else
{
array = new float[len];
assert(array != 0);
}
}
for (size_t i = 0; i < len; ++i)
array[i] = fa.array[i];
return *this;
}
float &float_array::operator[](size_t i)
{
assert(i < len);
return array[i];
}
ostream &operator<<(ostream &os, float_array &fa)
{
os << '{';
size_t i;
for (i = 0; i < fa.length(); ++i)
os << ' ' << fa[i];
return os << " }";
}