Ok, I am now getting these errors with this code:
Code:
#include <fstream.h> // Use <fstream> instead
#include <ostream.h> // Use <iostream> instead
using namespace std; // Add this
class ComplexNum
{
public:
...
friend ostream& operator<<(ostream& outFile, const ComplexNum& rhs);
friend istream& operator>>(istream& inFile, ComplexNum& rhs);
friend ComplexNum operator+(ostream& outFile, const ComplexNum&
rhs);
};
ComplexNum operator+(const ComplexNum& lhs, const ComplexNum& rhs)
{
return ComplexNum(lhs.real+rhs.real, lhs.imaginary+rhs.imaginary);
}
ostream& operator<<(ostream& outFile, const ComplexNum& rhs)
{
return outFile << "(" << rhs.real << ") + (" << rhs.imaginary << ")i";
}
Now, these errors:
/tmp/cclNvRtt.o(.text+0x0): In function `operator+(ComplexNum const&, ComplexNum const&)':
: multiple definition of `operator+(ComplexNum const&, ComplexNum const&)'
/tmp/ccCuUZWQ.o(.text+0x0): first defined here
/tmp/cclNvRtt.o(.text+0x44): In function `operator<<(std::basic_ostream<char, std::char_traits<char> >&, ComplexNum const&)':
: multiple definition of `operator<<(std::basic_ostream<char, std::char_traits<char> >&, ComplexNum const&)'
/tmp/ccCuUZWQ.o(.text+0x44): first defined here
collect2: ld returned 1 exit status
Any ideas why??