use 
                  
                  
                   
                  
                  
                  class ComplexNam 
                  
                  
                  { 
                  
                  
                  private: 
                  
                  
                   double x; 
                  
                  
                   double y; 
                  
                  
                  public: 
                  
                  
                   ComplexNam(double re = 0, double im = 0) : x(re), y(im) {}; // {} 
                  
                  
                   ComplexNam(const ComplexNam& cmplx); 
                  
                  
                   
                  
                  
                   ComplexNam(); 
                  
                  
                   
                  
                  
                   double fabs() const { return sqrt(x * x + y * y); }; 
                  
                  
                   
                  
                  
                   double arg() const { return atan2(y, x); }; 
                  
                  
                   
                  
                  
                   ComplexNam conj() const { return ComplexNam(x, -y); }; 
                  
                  
                   
                  
                  
                   ComplexNam& operator =(const ComplexNam& cmplx) { 
                  
                  
                    x = cmplx.x; y = cmplx.y; return *this; }; 
                  
                  
                   
                  
                  
                   const ComplexNam& operator+() const { 
                  
                  
                    return *this; }; // * 
                  
                  
                   
                  
                  
                   ComplexNam operator -() const { 
                  
                  
                    return ComplexNam(-this->x, -this->y); }; // ??? 
                  
                  
                   
                  
                  
                   ComplexNam operator+(const ComplexNam& cmplx) const { 
                  
                  
                    return ComplexNam(x + cmplx.x, y + cmplx.y); }; 
                  
                  
                   
                  
                  
                   ComplexNam operator-(const ComplexNam& cmplx) const { 
                  
                  
                    return ComplexNam(x - cmplx.x, y - cmplx.y);}; 
                  
                  
                   ComplexNam operator*(const ComplexNam& cmplx) const { 
                  
                  
                    return ComplexNam(x * cmplx.x - y * cmplx.y, x * cmplx.y + y * cmplx.x);}; 
                  
                  
                   
                  
                  
                   ComplexNam operator/(const ComplexNam& cmplx) const { 
                  
                  
                    double dn = cmplx.x * cmplx.x + cmplx.y * cmplx.y; 
                  
                  
                    return ComplexNam((x * cmplx.x + y * cmplx.y) / dn, \ 
                  
                  
                     (-x * cmplx.y + y * cmplx.x) / dn);}; 
                  
                  
                   
                  
                  
                   bool operator==(const ComplexNam& cmplx) const { 
                  
                  
                    return ((x == cmplx.x) && (y == cmplx.y));}; 
                  
                  
                   
                  
                  
                   bool operator!=(const ComplexNam& cmplx) const { 
                  
                  
                    return !(*this == cmplx);}; 
                  
                  
                   
                  
                  
                   friend ostream& operator <<(ostream& str, const ComplexNam& cmplx); // friend 
                  
                  
                  }; 
                  
                  
                   
                  
                  
                  ostream& operator<<(ostream& str, const ComplexNam& cmplx) { // ??? 
                  
                  
                   if (cmplx.y >= 0) // ??? 
                  
                  
                    str << cmplx.x << "+" << cmplx.y << "I"; // ??? 
                  
                  
                   else 
                  
                  
                    str << cmplx.x << "-" << -cmplx.y << "I"; // ??? 
                  
                  
                   return str; } 
                  
                  
                   
                  
                  
                  int main(int argc, char** argv) { 
                  
                  
                   cout << "Hello!" << endl; // ??? 
                  
                  
                   
                  
                  
                   ComplexNam a(-1.0, 1.0); 
                  
                  
                   ComplexNam b(2.0, -3.5); 
                  
                  
                   ComplexNam c(b); 
                  
                  
                   
                  
                  
                   cout << "|a| = " << a.fabs() << ", arg(a) =" << a.arg() << endl; 
                  
                  
                   cout << "|a|^2 = " << a * a.conj() << endl; 
                  
                  
                   cout << "c / b" << c / b << endl; // ??? 
                  
                  
                   cout << "a + b*c = " << a + b * c << endl; 
                  
                  
                   cout << "-a + 4*b = " << -a + ComplexNam(4.0) * b << endl; // ??? 
                  
                  
                   
                  
                  
                   cout << "Good bye!" << endl; // " " 
                  
                  
                   cin.get(); // ??? 
                  
                  
                   
                  
                  
                   return 0; 
                  
                  
                  }
                  
                  
                  ошибка: /usr/bin/ld: /tmp/ccmKuwUL.o: in function `main':
                  
                  
                  main.cpp:(.text+0x1a6): undefined reference to `ComplexNam::ComplexNam(ComplexNam const&)'
                  
                  
                  collect2: error: ld returned 1 exit status
                  
                  
                  
                  
                  
                  помогите
                  
                  
                
у тебя 2 конструктора только объявлены, без определений
ты про ComplexNam(const ComplexNam& cmplx); ComplexNam(); ?
Обсуждают сегодня