It has one member, a pointer to a double called a which is initialised to NULL.
Line 7: Declares an Array called arr.
Line 18: Declares an Array temp and intialises it with arr.
Line 19: Calls Array::Sort, which sort the vector<double> passed in. However, because it's passed by value, nothing really changes.
Line 20: Call a.operator<<(std::ostream&, const Array &), but you haven't defined it, so compile fails.
Finally, void main() should be int main() and you should return a zero at the end.