давно не садился за плюсы,а тут нужно было помочь лабу сделать - перегрузка операторов.всего навсего!да что там делать!не тут то было... короче,сначало все было в VS2003.был такой вот код(только перегружаемые операторы и конструкторы):
| Код | complex(double Re, double Im); complex(complex z);//на это он вообще ругался и ни в какую не хотел компилить complex(); complex& operator=(complex z);//это тоже ругал как мог complex operator+(complex z1,complex z2); complex operator*(complex z1,complex z2); complex operator*(double num,complex z); complex operator*(complex z1,double num;
|
думал приду домой,сделаю все почеловечески.дома VS2005.скинул код,компилю...а он говорит,что в
| Код | complex operator+(complex z1,complex z2);
|
слишком много параметров!ладно,оттуда можно убрать один...но вот что делать с умножением на число?слева и справа?как ему объяснить кто из них левый а кто правый...а вот конструктор "complex(complex z);" и оператор "complex& operator=(complex z);" проглотил и даже не подавился! в итоге имею 2 полурабочих варианта на разные студии...объясните,кто из нас троих сошел с ума?..
зы: забыл что в 2003 операторы были static,но в 2005 он меня отругал за это!пришлось убрать... |